Linux平臺(tái)通過nginx和vsftpd構(gòu)建圖片服務(wù)器
因?yàn)殚_發(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語言開發(fā),建議在linux上運(yùn)行,本教程使用Centos6.5作為安裝環(huán)境。
安裝nginx需要先將官網(wǎng)下載的源碼進(jìn)行編譯,編譯依賴gcc環(huán)境,如果沒有g(shù)cc環(huán)境,需要安裝gcc:yum install gcc-c++
PCRE(PerlCompatible Regular Expressions)是一個(gè)Perl庫,包括 perl 兼容的正則表達(dá)式庫。nginx的http模塊使用pcre來解析正則表達(dá)式,所以需要在linux上安裝pcre庫。
yuminstall -y pcre pcre-devel
注:pcre-devel是使用pcre開發(fā)的一個(gè)二次開發(fā)庫。nginx也需要此庫。
zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlib對(duì)http包的內(nèi)容進(jìn)行g(shù)zip,所以需要在linux上安裝zlib庫。
yuminstall -y zlib zlib-devel
OpenSSL是一個(gè)強(qiáng)大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協(xié)議,并提供豐富的應(yīng)用程序供測試或其它目的使用。
nginx不僅支持http協(xié)議,還支持https(即在ssl協(xié)議上傳輸http),所以需要在linux安裝openssl庫。
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查詢詳細(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.編譯安裝
make make 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.測試
nginx安裝成功,啟動(dòng)nginx,即可訪問虛擬機(jī)上的nginx:
到這說明nginx上安裝成功。
二、FTP安裝
1、安裝vsftpd組件
[root@bogon ~]# yum -y install vsftpd
安裝完后,有/etc/vsftpd/vsftpd.conf文件,是vsftp的配置文件。
2、添加一個(gè)ftp用戶
此用戶就是用來登錄ftp服務(wù)器用的。
[root@bogon ~]# useradd ftpuser
這樣一個(gè)用戶建完,可以用這個(gè)登錄,記得用普通登錄不要用匿名了。登錄后默認(rèn)的路徑為 /home/ftpuser.
3、給ftp用戶添加密碼。
[root@bogon ~]# passwd ftpuser
輸入兩次密碼后修改密碼。
4、防火墻開啟21端口
因?yàn)閒tp默認(rèn)的端口為21,而centos默認(rèn)是沒有開啟的,所以要修改iptables文件,有些安裝的CentOs默認(rèn)沒有開啟防火墻,則無需考慮這步了。
[root@bogon ~]# vim /etc/sysconfig/iptables
在行上面有22 -jACCEPT 下面另起一行輸入跟那行差不多的,只是把22換成21,然后:wq保存。
還要運(yùn)行下,重啟iptables
[root@bogon ~]# service iptables restart
5、修改selinux
外網(wǎng)是可以訪問上去了,可是發(fā)現(xiàn)沒法返回目錄(使用ftp的主動(dòng)模式,被動(dòng)模式還是無法訪問),也上傳不了,因?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,代表,沒有開啟外網(wǎng)的訪問
[root@bogon ~]#setsebool -P allow_ftpd_full_access on [root@bogon ~]#setsebool -P ftp_home_dir on
這樣應(yīng)該沒問題了(如果,還是不行,看看是不是用了ftp客戶端工具用了passive模式訪問了,如提示Entering Passive mode,就代表是passive模式,默認(rèn)是不行的,因?yàn)閒tp passive模式被iptables擋住了,下面會(huì)講怎么開啟,如果懶得開的話,就看看你客戶端ftp是否有port模式的選項(xiàng),或者把passive模式的選項(xiàng)去掉。如果客戶端還是不行,看看客戶端上的主機(jī)的電腦是否開了防火墻,關(guān)吧)
FileZilla的主動(dòng)、被動(dòng)模式修改:
菜單:編輯→設(shè)置
6、關(guān)閉匿名訪問
修改/etc/vsftpd/vsftpd.conf文件:
重啟ftp服務(wù):
[root@bogon ~]# service vsftpd restart
7、開啟被動(dòng)模式
默認(rèn)是開啟的,但是要指定一個(gè)端口范圍,打開vsftpd.conf文件,在后面加上
pasv_min_port=30000 pasv_max_port=30999
表示端口范圍為30000~30999,這個(gè)可以隨意改。改完重啟一下vsftpd
由于指定這段端口范圍,iptables也要相應(yīng)的開啟這個(gè)范圍,所以像上面那樣打開iptables文件。
也是在21上下面另起一行,更那行差不多,只是把21 改為30000:30999,然后:wq保存,重啟下iptables。這樣就搞定了。
8、設(shè)置開機(jī)啟動(dòng)vsftpd ftp服務(wù)
[root@bogon ~]# chkconfig vsftpd on
整個(gè)在Linux上搭建圖片服務(wù)器的過程就完成了。
以上所述是小編給大家介紹的Linux平臺(tái)通過nginx和vsftpd構(gòu)建圖片服務(wù)器,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
Nginx服務(wù)器中配置非80端口的端口轉(zhuǎn)發(fā)方法詳解
這篇文章主要介紹了Nginx服務(wù)器中配置非80端口的端口轉(zhuǎn)發(fā)方法詳解,文中使用到了Nginx中的proxy_pass配置項(xiàng),需要的朋友可以參考下2016-04-04Nginx結(jié)合Openresty通過Lua+Redis實(shí)現(xiàn)動(dòng)態(tài)封禁IP
為了封禁某些爬蟲或者惡意用戶對(duì)服務(wù)器的請(qǐng)求,我們需要建立一個(gè)動(dòng)態(tài)的 IP 黑名單,本文主要介紹了Nginx結(jié)合Openresty通過Lua+Redis實(shí)現(xiàn)動(dòng)態(tài)封禁IP,感興趣的可以了解一下2023-11-11Nginx 啟動(dòng)、停止、重啟、升級(jí)操作命令收集
也許你不知道什么是Nginx,Nginx是一個(gè)WEB服務(wù)器,如IIS那樣,現(xiàn)在好多門戶都在使用了Nginx作為WEB服務(wù)器了,Nginx在Linux系統(tǒng)下跑很優(yōu)秀,強(qiáng)過其它的WEB服務(wù)端,還可以做負(fù)載均衡,很不錯(cuò)吧。2010-10-10Nginx內(nèi)網(wǎng)單機(jī)反向代理的實(shí)現(xiàn)
本文主要介紹了Nginx內(nèi)網(wǎng)單機(jī)反向代理的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11詳解nginx的請(qǐng)求限制(連接限制和請(qǐng)求限制)
這篇文章主要介紹了詳解nginx的請(qǐng)求限制(連接限制和請(qǐng)求限制),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-07-07nginx location優(yōu)先級(jí)的深入講解
這篇文章主要給大家介紹了關(guān)于nginx location優(yōu)先級(jí)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09