因?yàn)殚_(kāi)發(fā)需要,需要在Linux上構(gòu)建一個(gè)獨(dú)立的圖片服務(wù)器,此處默認(rèn)您已安裝好Linux系統(tǒng)。系統(tǒng)環(huán)境:CentOs6.5,Vmware10
一、Nginx安裝
1、nginx安裝環(huán)境
nginx是C語(yǔ)言開(kāi)發(fā),建議在linux上運(yùn)行,本教程使用Centos6.5作為安裝環(huán)境。
安裝nginx需要先將官網(wǎng)下載的源碼進(jìn)行編譯,編譯依賴gcc環(huán)境,如果沒(méi)有g(shù)cc環(huán)境,需要安裝gcc:yum install gcc-c++
PCRE(PerlCompatible Regular Expressions)是一個(gè)Perl庫(kù),包括 perl 兼容的正則表達(dá)式庫(kù)。nginx的http模塊使用pcre來(lái)解析正則表達(dá)式,所以需要在linux上安裝pcre庫(kù)。
yuminstall -y pcre pcre-devel
注:pcre-devel是使用pcre開(kāi)發(fā)的一個(gè)二次開(kāi)發(fā)庫(kù)。nginx也需要此庫(kù)。
zlib庫(kù)提供了很多種壓縮和解壓縮的方式,nginx使用zlib對(duì)http包的內(nèi)容進(jìn)行g(shù)zip,所以需要在linux上安裝zlib庫(kù)。
yuminstall -y zlib zlib-devel
OpenSSL是一個(gè)強(qiáng)大的安全套接字層密碼庫(kù),囊括主要的密碼算法、常用的密鑰和證書(shū)封裝管理功能及SSL協(xié)議,并提供豐富的應(yīng)用程序供測(cè)試或其它目的使用。
nginx不僅支持http協(xié)議,還支持https(即在ssl協(xié)議上傳輸http),所以需要在linux安裝openssl庫(kù)。
yuminstall -y openssl openssl-devel
2、編譯安裝
將nginx-1.8.0.tar.gz拷貝至linux服務(wù)器。
解壓:
tar -zxvf nginx-1.8.0.tar.gz
進(jìn)入nginx的根目錄:
cd nginx-1.8.0
A.configure
./configure --help查詢?cè)敿?xì)參數(shù)(參考本教程附錄部分:nginx編譯參數(shù))
參數(shù)設(shè)置如下:
./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
注意:上邊將臨時(shí)文件目錄指定為/var/temp/nginx,需要在/var下創(chuàng)建temp及nginx目錄
B.編譯安裝
makemake install
安裝成功查看安裝目錄 :
C.啟動(dòng)nginx
cd /usr/local/nginx/sbin/./nginx
查詢nginx進(jìn)程:
15098是nginx主進(jìn)程的進(jìn)程id,15099是nginx工作進(jìn)程的進(jìn)程id
注意:執(zhí)行./nginx啟動(dòng)nginx,這里可以-c指定加載的nginx配置文件,如下:
./nginx-c /usr/local/nginx/conf/nginx.conf
如果不指定-c,nginx在啟動(dòng)時(shí)默認(rèn)加載conf/nginx.conf文件,此文件的地址也可以在編譯安裝nginx時(shí)指定./configure的參數(shù)(--conf-path= 指向配置文件(nginx.conf))
D.停止nginx
方式1,快速停止:
cd /usr/local/nginx/sbin ./nginx -s stop
此方式相當(dāng)于先查出nginx進(jìn)程id再使用kill命令強(qiáng)制殺掉進(jìn)程。
方式2,完整停止(建議使用):
cd /usr/local/nginx/sbin ./nginx -s quit
此方式停止步驟是待nginx進(jìn)程處理任務(wù)完畢進(jìn)行停止。
E.重啟nginx
方式1,先停止再啟動(dòng)(建議使用):
對(duì)nginx進(jìn)行重啟相當(dāng)于先停止nginx再啟動(dòng)nginx,即先執(zhí)行停止命令再執(zhí)行啟動(dòng)命令。
如下:
./nginx -s quit ./nginx
方式2,重新加載配置文件:
當(dāng)nginx的配置文件nginx.conf修改后,要想讓配置生效需要重啟nginx,使用-s reload不用先停止nginx再啟動(dòng)nginx即可將配置信息在nginx中生效,如下:
./nginx -s reload
F.測(cè)試
nginx安裝成功,啟動(dòng)nginx,即可訪問(wèn)虛擬機(jī)上的nginx:
到這說(shuō)明nginx上安裝成功。
二、FTP安裝
1、安裝vsftpd組件
[root@bogon ~]# yum -y install vsftpd
安裝完后,有/etc/vsftpd/vsftpd.conf文件,是vsftp的配置文件。
2、添加一個(gè)ftp用戶
此用戶就是用來(lái)登錄ftp服務(wù)器用的。
[root@bogon ~]# useradd ftpuser
這樣一個(gè)用戶建完,可以用這個(gè)登錄,記得用普通登錄不要用匿名了。登錄后默認(rèn)的路徑為 /home/ftpuser.
3、給ftp用戶添加密碼。
[root@bogon ~]# passwd ftpuser
輸入兩次密碼后修改密碼。
4、防火墻開(kāi)啟21端口
因?yàn)閒tp默認(rèn)的端口為21,而centos默認(rèn)是沒(méi)有開(kāi)啟的,所以要修改iptables文件,有些安裝的CentOs默認(rèn)沒(méi)有開(kāi)啟防火墻,則無(wú)需考慮這步了。
[root@bogon ~]# vim /etc/sysconfig/iptables
在行上面有22 -jACCEPT 下面另起一行輸入跟那行差不多的,只是把22換成21,然后:wq保存。
還要運(yùn)行下,重啟iptables
[root@bogon ~]# service iptables restart
5、修改selinux
外網(wǎng)是可以訪問(wèn)上去了,可是發(fā)現(xiàn)沒(méi)法返回目錄(使用ftp的主動(dòng)模式,被動(dòng)模式還是無(wú)法訪問(wèn)),也上傳不了,因?yàn)閟elinux作怪了。
修改selinux:
執(zhí)行以下命令查看狀態(tài):
[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 ~]#
執(zhí)行上面命令,再返回的結(jié)果看到兩行都是off,代表,沒(méi)有開(kāi)啟外網(wǎng)的訪問(wèn)
[root@bogon ~]#setsebool -P allow_ftpd_full_access on [root@bogon ~]#setsebool -P ftp_home_dir on
這樣應(yīng)該沒(méi)問(wèn)題了(如果,還是不行,看看是不是用了ftp客戶端工具用了passive模式訪問(wèn)了,如提示Entering Passive mode,就代表是passive模式,默認(rèn)是不行的,因?yàn)閒tp passive模式被iptables擋住了,下面會(huì)講怎么開(kāi)啟,如果懶得開(kāi)的話,就看看你客戶端ftp是否有port模式的選項(xiàng),或者把passive模式的選項(xiàng)去掉。如果客戶端還是不行,看看客戶端上的主機(jī)的電腦是否開(kāi)了防火墻,關(guān)吧)
FileZilla的主動(dòng)、被動(dòng)模式修改:
菜單:編輯→設(shè)置
6、關(guān)閉匿名訪問(wèn)
修改/etc/vsftpd/vsftpd.conf文件:
重啟ftp服務(wù):
[root@bogon ~]# service vsftpd restart
7、開(kāi)啟被動(dòng)模式
默認(rèn)是開(kāi)啟的,但是要指定一個(gè)端口范圍,打開(kāi)vsftpd.conf文件,在后面加上
pasv_min_port=30000 pasv_max_port=30999
表示端口范圍為30000~30999,這個(gè)可以隨意改。改完重啟一下vsftpd
由于指定這段端口范圍,iptables也要相應(yīng)的開(kāi)啟這個(gè)范圍,所以像上面那樣打開(kāi)iptables文件。
也是在21上下面另起一行,更那行差不多,只是把21 改為30000:30999,然后:wq保存,重啟下iptables。這樣就搞定了。
8、設(shè)置開(kāi)機(jī)啟動(dòng)vsftpd ftp服務(wù)
[root@bogon ~]# chkconfig vsftpd on
整個(gè)在Linux上搭建圖片服務(wù)器的過(guò)程就完成了。
以上所述是小編給大家介紹的Linux平臺(tái)通過(guò)nginx和vsftpd構(gòu)建圖片服務(wù)器,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)VEVB武林網(wǎng)網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選