您好,登錄后才能下訂單哦!
這篇文章主要介紹了Linux平臺通過nginx和vsftpd構建圖片服務器的方法的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Linux平臺通過nginx和vsftpd構建圖片服務器的方法文章都會有所收獲,下面我們一起來看看吧。
一、nginx安裝
1、nginx安裝環境
nginx是c語言開發,建議在linux上運行,本教程使用centos6.5作為安裝環境。
安裝nginx需要先將官網下載的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要安裝gcc:yum install gcc-c++
pcre(perlcompatible regular expressions)是一個perl庫,包括 perl 兼容的正則表達式庫。nginx的http模塊使用pcre來解析正則表達式,所以需要在linux上安裝pcre庫。
yuminstall -y pcre pcre-devel
注:pcre-devel是使用pcre開發的一個二次開發庫。nginx也需要此庫。
zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對http包的內容進行gzip,所以需要在linux上安裝zlib庫。
yuminstall -y zlib zlib-devel
openssl是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及ssl協議,并提供豐富的應用程序供測試或其它目的使用。
nginx不僅支持http協議,還支持https(即在ssl協議上傳輸http),所以需要在linux安裝openssl庫。
yuminstall -y openssl openssl-devel
2、編譯安裝
將nginx-1.8.0.tar.gz拷貝至linux服務器。
解壓:
tar -zxvf nginx-1.8.0.tar.gz
進入nginx的根目錄:
cd nginx-1.8.0
a.configure
./configure --help查詢詳細參數(參考本教程附錄部分:nginx編譯參數)
參數設置如下:
./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/var/temp/nginx/client\ --http-proxy-temp-path=/var/temp/nginx/proxy\ --http-fastcgi-temp-path=/var/temp/nginx/fastcgi\ --http-uwsgi-temp-path=/var/temp/nginx/uwsgi\ --http-scgi-temp-path=/var/temp/nginx/scgi
注意:上邊將臨時文件目錄指定為/var/temp/nginx,需要在/var下創建temp及nginx目錄
b.編譯安裝
make make install
安裝成功查看安裝目錄 :
c.啟動nginx
cd /usr/local/nginx/sbin/ ./nginx
查詢nginx進程:
15098是nginx主進程的進程id,15099是nginx工作進程的進程id
注意:執行./nginx啟動nginx,這里可以-c指定加載的nginx配置文件,如下:
./nginx-c /usr/local/nginx/conf/nginx.conf
如果不指定-c,nginx在啟動時默認加載conf/nginx.conf文件,此文件的地址也可以在編譯安裝nginx時指定./configure的參數(--conf-path= 指向配置文件(nginx.conf))
d.停止nginx
方式1,快速停止:
cd /usr/local/nginx/sbin ./nginx -s stop
此方式相當于先查出nginx進程id再使用kill命令強制殺掉進程。
方式2,完整停止(建議使用):
cd /usr/local/nginx/sbin ./nginx -s quit
此方式停止步驟是待nginx進程處理任務完畢進行停止。
e.重啟nginx
方式1,先停止再啟動(建議使用):
對nginx進行重啟相當于先停止nginx再啟動nginx,即先執行停止命令再執行啟動命令。
如下:
./nginx -s quit ./nginx
方式2,重新加載配置文件:
當nginx的配置文件nginx.conf修改后,要想讓配置生效需要重啟nginx,使用-s reload不用先停止nginx再啟動nginx即可將配置信息在nginx中生效,如下:
./nginx -s reload
f.測試
nginx安裝成功,啟動nginx,即可訪問虛擬機上的nginx:
到這說明nginx上安裝成功。
二、ftp安裝
1、安裝vsftpd組件
[root@bogon ~]# yum -y install vsftpd
安裝完后,有/etc/vsftpd/vsftpd.conf文件,是vsftp的配置文件。
2、添加一個ftp用戶
此用戶就是用來登錄ftp服務器用的。
[root@bogon ~]# useradd ftpuser
這樣一個用戶建完,可以用這個登錄,記得用普通登錄不要用匿名了。登錄后默認的路徑為 /home/ftpuser.
3、給ftp用戶添加密碼。
[root@bogon ~]# passwd ftpuser
輸入兩次密碼后修改密碼。
4、防火墻開啟21端口
因為ftp默認的端口為21,而centos默認是沒有開啟的,所以要修改iptables文件,有些安裝的centos默認沒有開啟防火墻,則無需考慮這步了。
[root@bogon ~]# vim /etc/sysconfig/iptables
在行上面有22 -jaccept 下面另起一行輸入跟那行差不多的,只是把22換成21,然后:wq保存。
還要運行下,重啟iptables
[root@bogon ~]# service iptables restart
5、修改selinux
外網是可以訪問上去了,可是發現沒法返回目錄(使用ftp的主動模式,被動模式還是無法訪問),也上傳不了,因為selinux作怪了。
修改selinux:
執行以下命令查看狀態:
[root@bogon ~]# getsebool -a | grepftp allow_ftpd_anon_write --> off allow_ftpd_full_access --> off allow_ftpd_use_cifs --> off allow_ftpd_use_nfs --> off ftp_home_dir --> off ftpd_connect_db --> off ftpd_use_passive_mode --> off httpd_enable_ftp_server --> off tftp_anon_write --> off [root@bogon ~]#
執行上面命令,再返回的結果看到兩行都是off,代表,沒有開啟外網的訪問
[root@bogon ~]#setsebool -p allow_ftpd_full_access on [root@bogon ~]#setsebool -p ftp_home_dir on
這樣應該沒問題了(如果,還是不行,看看是不是用了ftp客戶端工具用了passive模式訪問了,如提示entering passive mode,就代表是passive模式,默認是不行的,因為ftp passive模式被iptables擋住了,下面會講怎么開啟,如果懶得開的話,就看看你客戶端ftp是否有port模式的選項,或者把passive模式的選項去掉。如果客戶端還是不行,看看客戶端上的主機的電腦是否開了防火墻,關吧)
filezilla的主動、被動模式修改:
菜單:編輯→設置
6、關閉匿名訪問
修改/etc/vsftpd/vsftpd.conf文件:
重啟ftp服務:
[root@bogon ~]# service vsftpd restart
7、開啟被動模式
默認是開啟的,但是要指定一個端口范圍,打開vsftpd.conf文件,在后面加上
pasv_min_port=30000 pasv_max_port=30999
表示端口范圍為30000~30999,這個可以隨意改。改完重啟一下vsftpd
由于指定這段端口范圍,iptables也要相應的開啟這個范圍,所以像上面那樣打開iptables文件。
也是在21上下面另起一行,更那行差不多,只是把21 改為30000:30999,然后:wq保存,重啟下iptables。這樣就搞定了。
8、設置開機啟動vsftpd ftp服務
[root@bogon ~]# chkconfig vsftpd on
關于“Linux平臺通過nginx和vsftpd構建圖片服務器的方法”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Linux平臺通過nginx和vsftpd構建圖片服務器的方法”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。