基於nginx搭建圖片伺服器原理
Ⅰ ubuntu:18.04+nginx 搭建圖片文件伺服器
安裝:
啟動:
或:
可以創建/etc/nginx/server文件夾,將server文件放在此文件夾中:
進入到/etc/nginx/nginx.conf文件,將剛創建的server文件包含進來:
此行配置需要放在http{}中:
然後檢查nginx.conf是否有問題:
若沒問題,會出現如下提示:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
然後訪問 ip:8080+圖片名稱
Ⅱ 圖片伺服器的搭建01
nginx+vsftp搭建圖片伺服器
前言:
在分布式架構中,往往會有多個tomcat,然後你上傳的圖片只是在其中的某一個tomcat,你訪問時是由集群的tomcat隨機提供服務。當你訪問的tomcat是有圖片的那個時,圖片能正常顯示,如果恰巧是那個沒有圖片的tomcat時,圖片就不能正常顯示。這就完成了訪問同一個圖片,可能你刷新一次可以訪問,再刷新一次圖片就訪問不到了。這時,我們就需要一個伺服器用來專門存儲圖片,一般我們都用nginx。
1、nginx+vsftp:
上面分別介紹了nginx和vsftp,那麼這兩個東西怎麼組合起來用呢?怎麼實現這個圖片伺服器呢?我們知道,tomcat安裝好啟動後,在瀏覽器輸入localhost:8080,就會出現tomcat的歡迎頁,nginx也一樣。比如linux的ip是192.168.50.122,那麼啟動nginx後,在瀏覽器訪問這個地址也會出現nginx的歡迎頁,其實是因為它有個默認的訪問頁面,完整的地址應該是192.168.50.122/index.html,那麼我們就可以根據這個,把它默認的訪問頁面改成我們上傳的圖片的保存路徑,比如上傳了一張pic.jpg圖片到linux的/home/ftpuser/images中,如果我們把默認訪問頁面改成/home/ftpuser,那麼在瀏覽器中輸入192.168.50.122/images/pic.jpg,就可以訪問到這張圖片了。下面就來介紹nginx、vsftp的安裝以及配置。
<meta charset="utf-8">
1、安裝:
2、添加ftp用戶:
3、給ftp用戶添加密碼:
輸入兩次密碼後修改密碼。
4、修改selinux:
①查看狀態:
執行這個命令可以看到
這兩個都off,執行如下命令設置為on:
再次執行 getsebool -a | grep ftp 看到那兩個狀態是on就行了。
5、關閉匿名訪問:
執行
命令:
還要在vsftp.conf文件最下面添加以下內容:
然後保存退出即可。
6、設置開機啟動:
7、測試:
打開filezilla工具,輸入虛擬機的ip,21埠,用戶名和密碼,點擊快速連接,連接vsftp服務:
如圖所示則連接成功。
<meta charset="utf-8">
按照以上步驟安裝好nginx和vsftp後,還是不能訪問上傳的圖片的,需要進行如下配置:
執行
命令,打開nginx的配置文件:
按道理這樣就可以了,但是我訪問卻報錯:
403 forbidden ,最後發現是因為ftpuser文件夾沒有可讀許可權,執行如下命令:
再次訪問即可成功!
至此圖片伺服器搭建完成!至於在Java中如何使用這個圖片伺服器,請參考 Java實現把圖片上傳到圖片伺服器 。
在搭建的過程中,遇到很多坑,因為我參考的教程是centos 6,防火牆是iptables,而centos 7是firewall,