搜尋
首頁運維NginxLinux平台透過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

安裝成功檢視安裝目錄:

Linux平台透過nginx和vsftpd建構圖片伺服器的方法

#c.啟動nginx##

cd /usr/local/nginx/sbin/
./nginx

查詢nginx進程:


Linux平台透過nginx和vsftpd建構圖片伺服器的方法

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:

Linux平台透過nginx和vsftpd建構圖片伺服器的方法

到這說明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的主动、被动模式修改:

菜单:编辑→设置

Linux平台透過nginx和vsftpd建構圖片伺服器的方法

6、关闭匿名访问

修改/etc/vsftpd/vsftpd.conf文件:

Linux平台透過nginx和vsftpd建構圖片伺服器的方法

重启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中文網其他相關文章!

陳述
本文轉載於:亿速云。如有侵權,請聯絡admin@php.cn刪除
nginx和apache:部署和配置nginx和apache:部署和配置May 01, 2025 am 12:08 AM

NGINX和Apache各有優勢,選擇取決於具體需求。 1.NGINX適合高並發,部署簡單,配置示例包括虛擬主機和反向代理。 2.Apache適用於復雜配置,部署同樣簡單,配置示例包括虛擬主機和URL重寫。

NGINX單元的目的:運行Web應用程序NGINX單元的目的:運行Web應用程序Apr 30, 2025 am 12:06 AM

NGINXUnit的目的是簡化Web應用程序的部署和管理。其優勢包括:1)支持多種編程語言,如Python、PHP、Go、Java和Node.js;2)提供動態配置和自動重載功能;3)通過統一的API管理應用生命週期;4)採用異步I/O模型,支持高並發和負載均衡。

NGINX:高性能Web服務器的簡介NGINX:高性能Web服務器的簡介Apr 29, 2025 am 12:02 AM

NGINX始於2002年,由IgorSysoev開發,旨在解決C10k問題。 1.NGINX是高性能Web服務器,基於事件驅動的異步架構,適用於高並發。 2.提供反向代理、負載均衡和緩存等高級功能,提升系統性能和可靠性。 3.優化技巧包括調整worker進程數、啟用Gzip壓縮、使用HTTP/2和安全配置。

Nginx vs. Apache:看他們的架構Nginx vs. Apache:看他們的架構Apr 28, 2025 am 12:13 AM

NGINX和Apache在架構上的主要區別在於:NGINX採用事件驅動、異步非阻塞模型,而Apache使用進程或線程模型。 1)NGINX通過事件循環和I/O多路復用機制高效處理高並發連接,適合靜態內容和反向代理。 2)Apache採用多進程或多線程模型,穩定性高但資源消耗大,適合需要豐富模塊擴展的場景。

NGINX與Apache:檢查優點和缺點NGINX與Apache:檢查優點和缺點Apr 27, 2025 am 12:05 AM

NGINX適合處理高並發和靜態內容,Apache則適用於復雜配置和動態內容。 1.NGINX高效處理並發連接,適合高流量場景,但處理動態內容需額外配置。 2.Apache提供豐富模塊和靈活配置,適合複雜需求,但高並發性能較差。

nginx和apache:了解關鍵差異nginx和apache:了解關鍵差異Apr 26, 2025 am 12:01 AM

NGINX和Apache各有優劣,選擇應基於具體需求。 1.NGINX適合高並發場景,因其異步非阻塞架構。 2.Apache適用於需要復雜配置的低並發場景,因其模塊化設計。

NGINX單元:關鍵功能NGINX單元:關鍵功能Apr 25, 2025 am 12:17 AM

NGINXUnit是一個開源應用服務器,支持多種編程語言,提供動態配置、零停機更新和內置負載均衡等功能。 1.動態配置:無需重啟即可修改配置。 2.多語言支持:兼容Python、Go、Java、PHP等。 3.零停機更新:支持不中斷服務的應用更新。 4.內置負載均衡:可將請求分發到多個應用實例。

NGINX單元與其他應用程序服務器NGINX單元與其他應用程序服務器Apr 24, 2025 am 12:14 AM

NGINXUnit優於ApacheTomcat、Gunicorn和Node.js內置HTTP服務器,適用於多語言項目和動態配置需求。 1)支持多種編程語言,2)提供動態配置重載,3)內置負載均衡功能,適合需要高擴展性和可靠性的項目。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境