一、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進程:
./nginx-c /usr/local/nginx/conf/nginx.conf如果不指定-c,nginx在啟動時預設載入conf/nginx.conf文件,此文件的位址也可以在編譯安裝nginx時指定./configure的參數(--conf-path= 指向設定檔(nginx.conf))
#方式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 reloadf.測試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.
[root@bogon ~]# passwd ftpuser輸入兩次密碼後修改密碼。 4、防火牆開啟21埠因為ftp預設的連接埠為21,而centos預設是沒有開啟的,所以要修改iptables文件,有些安裝的centos預設沒有開啟防火牆,則無需考慮這步了。
[root@bogon ~]# vim /etc/sysconfig/iptables在行上面有22 -jaccept 下面另起一行輸入跟那行差不多的,只是把22換成21,然後:wq儲存。
[root@bogon ~]# service iptables restart5、修改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建構圖片伺服器的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!