搜尋
首頁運維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刪除
什么是linux设备节点什么是linux设备节点Apr 18, 2022 pm 08:10 PM

linux设备节点是应用程序和设备驱动程序沟通的一个桥梁;设备节点被创建在“/dev”,是连接内核与用户层的枢纽,相当于硬盘的inode一样的东西,记录了硬件设备的位置和信息。设备节点使用户可以与内核进行硬件的沟通,读写设备以及其他的操作。

Linux中open和fopen的区别有哪些Linux中open和fopen的区别有哪些Apr 29, 2022 pm 06:57 PM

区别:1、open是UNIX系统调用函数,而fopen是ANSIC标准中的C语言库函数;2、open的移植性没fopen好;3、fopen只能操纵普通正规文件,而open可以操作普通文件、网络套接字等;4、open无缓冲,fopen有缓冲。

linux中什么叫端口映射linux中什么叫端口映射May 09, 2022 pm 01:49 PM

端口映射又称端口转发,是指将外部主机的IP地址的端口映射到Intranet中的一台计算机,当用户访问外网IP的这个端口时,服务器自动将请求映射到对应局域网内部的机器上;可以通过使用动态或固定的公共网络IP路由ADSL宽带路由器来实现。

什么是linux交叉编译什么是linux交叉编译Apr 29, 2022 pm 06:47 PM

在linux中,交叉编译是指在一个平台上生成另一个平台上的可执行代码,即编译源代码的平台和执行源代码编译后程序的平台是两个不同的平台。使用交叉编译的原因:1、目标系统没有能力在其上进行本地编译;2、有能力进行源代码编译的平台与目标平台不同。

linux中eof是什么linux中eof是什么May 07, 2022 pm 04:26 PM

在linux中,eof是自定义终止符,是“END Of File”的缩写;因为是自定义的终止符,所以eof就不是固定的,可以随意的设置别名,linux中按“ctrl+d”就代表eof,eof一般会配合cat命令用于多行文本输出,指文件末尾。

linux怎么查询mac地址linux怎么查询mac地址Apr 24, 2022 pm 08:01 PM

linux查询mac地址的方法:1、打开系统,在桌面中点击鼠标右键,选择“打开终端”;2、在终端中,执行“ifconfig”命令,查看输出结果,在输出信息第四行中紧跟“ether”单词后的字符串就是mac地址。

linux怎么判断pcre是否安装linux怎么判断pcre是否安装May 09, 2022 pm 04:14 PM

在linux中,可以利用“rpm -qa pcre”命令判断pcre是否安装;rpm命令专门用于管理各项套件,使用该命令后,若结果中出现pcre的版本信息,则表示pcre已经安装,若没有出现版本信息,则表示没有安装pcre。

linux中rpc是什么意思linux中rpc是什么意思May 07, 2022 pm 04:48 PM

在linux中,rpc是远程过程调用的意思,是Reomote Procedure Call的缩写,特指一种隐藏了过程调用时实际通信细节的IPC方法;linux中通过RPC可以充分利用非共享内存的多处理器环境,提高系统资源的利用率。

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脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前By尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境