首頁 運維 Nginx Linux平台透過nginx和vsftpd建構圖片伺服器的方法

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

May 13, 2023 pm 02:28 PM
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
登入後複製

安裝成功檢視安裝目錄:

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

熱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

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

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

熱門話題

Java教學
1664
14
CakePHP 教程
1423
52
Laravel 教程
1318
25
PHP教程
1269
29
C# 教程
1248
24
Linux體系結構:揭示5個基本組件 Linux體系結構:揭示5個基本組件 Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

git怎麼查看倉庫地址 git怎麼查看倉庫地址 Apr 17, 2025 pm 01:54 PM

要查看 Git 倉庫地址,請執行以下步驟:1. 打開命令行並導航到倉庫目錄;2. 運行 "git remote -v" 命令;3. 查看輸出中的倉庫名稱及其相應的地址。

notepad怎麼運行java代碼 notepad怎麼運行java代碼 Apr 16, 2025 pm 07:39 PM

雖然 Notepad 無法直接運行 Java 代碼,但可以通過借助其他工具實現:使用命令行編譯器 (javac) 編譯代碼,生成字節碼文件 (filename.class)。使用 Java 解釋器 (java) 解釋字節碼,執行代碼並輸出結果。

sublime寫好代碼後如何運行 sublime寫好代碼後如何運行 Apr 16, 2025 am 08:51 AM

在 Sublime 中運行代碼的方法有六種:通過熱鍵、菜單、構建系統、命令行、設置默認構建系統和自定義構建命令,並可通過右鍵單擊項目/文件運行單個文件/項目,構建系統可用性取決於 Sublime Text 的安裝情況。

laravel安裝代碼 laravel安裝代碼 Apr 18, 2025 pm 12:30 PM

要安裝 Laravel,需依序進行以下步驟:安裝 Composer(適用於 macOS/Linux 和 Windows)安裝 Laravel 安裝器創建新項目啟動服務訪問應用程序(網址:http://127.0.0.1:8000)設置數據庫連接(如果需要)

git軟件安裝 git軟件安裝 Apr 17, 2025 am 11:57 AM

安裝 Git 軟件包括以下步驟:下載安裝包運行安裝包驗證安裝配置 Git安裝 Git Bash(僅限 Windows)

sublime怎麼運行python sublime怎麼運行python Apr 16, 2025 am 08:54 AM

在 Sublime Text 中運行 Python 腳本的方法:安裝 Python 解釋器配置 Sublime Text 中的解釋器路徑按 Ctrl B(Windows/Linux)或 Cmd B(macOS)運行腳本如果需要交互式控制台,請按 Ctrl \(Windows/Linux)或 Cmd \(macOS)

sublime快捷鍵怎麼使用 sublime快捷鍵怎麼使用 Apr 16, 2025 am 08:57 AM

Sublime Text 提供了提高开发效率的快捷键,包括常用的(保存、复制、剪切等)、编辑(缩进、格式化等)、导航(项目面板、文件浏览等)以及查找和替换快捷键。熟练使用这些快捷键可显著提升 Sublime 的使用效率。

See all articles