1棘利、Nginx 簡介
Nginx (engine x) 是一個高性能的HTTP和反向代理服務(wù)器梯澜,也是一個IMAP/POP3/SMTP服務(wù)器院塞。Nginx是由伊戈爾·賽索耶夫為俄羅斯訪問量第二的Rambler.ru站點(俄文:Рамблер)開發(fā)的辟躏,第一個公開版本0.1.0發(fā)布于2004年10月4日适瓦。
其將源代碼以類BSD許可證的形式發(fā)布奸鬓,因它的穩(wěn)定性焙畔、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名串远。2011年6月1日宏多,nginx 1.0.4發(fā)布。
Nginx是一款輕量級的Web 服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器澡罚,并在一個BSD-like 協(xié)議下發(fā)行伸但。其特點是占有內(nèi)存少,并發(fā)能力強留搔,事實上nginx的并發(fā)能力確實在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好更胖,中國大陸使用nginx網(wǎng)站用戶有:百度、京東隔显、新浪却妨、網(wǎng)易、騰訊括眠、淘寶等彪标。
這篇文章主要介紹了Centos 通過 nginx 和 vsftpd 構(gòu)建圖片服務(wù)器, 需要的朋友可以參考下
2、Nginx 安裝
2.1 掷豺、nginx 安裝環(huán)境
yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
下面是一些簡單的介紹
nginx 是 C 語言開發(fā)捞烟,建議在 linux 上運行薄声,本教程使用 Centos 7.2 作為安裝環(huán)境。
# cat /etc/redhat-release
# uname -a
安裝 nginx 需要先將官網(wǎng)下載的源碼進行編譯题画,編譯依賴 gcc 環(huán)境默辨,如果沒有 gcc 環(huán)境,需要安裝 gcc:
yum install gcc-c++
PCRE(PerlCompatible Regular Expressions) 是一個 Perl 庫苍息,包括 perl 兼容的正則表達式庫廓奕。nginx 的 http 模塊使用 pcre 來解析正則表達式,所以需要在 linux 上安裝 pcre 庫档叔。
yum install -y pcre pcre-devel
注:pcre-devel 是使用 pcre 開發(fā)的一個二次開發(fā)庫桌粉。nginx 也需要此庫。
zlib 庫提供了很多種壓縮和解壓縮的方式衙四,nginx 使用 zlib 對 http 包的內(nèi)容進行 gzip铃肯,所以需要在 linux 上安裝 zlib 庫。
yum install -y zlib zlib-devel
OpenSSL 是一個強大的安全套接字層密碼庫传蹈,囊括主要的密碼算法押逼、常用的密鑰和證書封裝管理功能及 SSL 協(xié)議,并提供豐富的應(yīng)用程序供測試或其它目的使用惦界。
nginx 不僅支持 http 協(xié)議挑格,還支持 https(即在 ssl 協(xié)議上傳輸 http),所以需要在 linux 安裝 openssl 庫沾歪。
yum install -y openssl openssl-devel
2.2 漂彤、下載Nginx 編譯安裝
Nginx官網(wǎng)提供了三個類型的版本
- Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以說是開發(fā)版
- Stable version:最新穩(wěn)定版灾搏,生產(chǎn)環(huán)境上建議使用的版本
- Legacy versions:遺留的老版本的穩(wěn)定版
演示使用的是nginx-1.13.4
1挫望、下載Nginx
# wget http://nginx.org/download/nginx-1.13.4.tar.gz
2、解壓:
tar -zxvf nginx-1.13.4.tar.gz
3狂窑、進入 nginx 的根目錄:
cd nginx-1.13.4
4媳板、 configure 配置
查詢詳細參數(shù)
./configure --help
這里只配置安裝目錄其他參數(shù)默認
./configure --prefix=/usr/local/nginx
配置成功的截圖
5、編譯安裝
make
make install
make 編譯 (make的過程是把各種語言寫的源碼文件泉哈,變成可執(zhí)行文件和各種庫文件)
make install 安裝 (make install是把這些編譯出來的可執(zhí)行文件和庫文件復(fù)制到合適的地方)
安裝成功查看安裝目錄 :
3蛉幸、Nginx 啟動與停止
3.1 判斷配置文件是否正確
cd /usr/local/nginx/sbin
./nginx -t
或者指定配置文件
./nginx -t -c /usr/local/nginx/conf/nginx.conf
3.2 啟動
cd /usr/local/nginx/sbin/
./nginx
注意:執(zhí)行./nginx 啟動 nginx,這里可以 - c 指定加載的 nginx 配置文件丛晦,如下:
cd /usr/local/nginx/sbin/
./nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定 - c奕纫,nginx 在啟動時默認加載 conf/nginx.conf 文件,此文件的地址也可以在編譯安裝 nginx 時指定./configure 的參數(shù)(--conf-path= 指向配置文件(nginx.conf))
查詢 nginx 進程:
27811 是 nginx 主進程的進程 id采呐,27812 是 nginx 工作進程的進程 id
3.3 停止與重啟 nginx
3.3.1 停止
方式 1若锁,快速停止:
cd /usr/local/nginx/sbin
./nginx -s stop
此方式相當(dāng)于先查出 nginx 進程 id 再使用 kill 命令強制殺掉進程。
方式 2斧吐,完整停止 (建議使用):
cd /usr/local/nginx/sbin
./nginx -s quit
此方式停止步驟是待 nginx 進程處理任務(wù)完畢進行停止又固。
3.3.2 重啟 nginx
方式 1仲器,先停止再啟動(建議使用):
對 nginx 進行重啟相當(dāng)于先停止 nginx 再啟動 nginx,即先執(zhí)行停止命令再執(zhí)行啟動命令仰冠。
如下:
./nginx -s quit
./nginx
方式 2乏冀,重新加載配置文件:
當(dāng) nginx 的配置文件 nginx.conf 修改后,要想讓配置生效需要重啟 nginx洋只,使用 - s reload 不用先停止 nginx 再啟動 nginx 即可將配置信息在 nginx 中生效辆沦,如下:
./nginx -s reload
4、測試Nginx
Nginx 安裝成功识虚,啟動 nginx肢扯,即可訪問虛擬機上的 Nginx。如果Nginx啟動了担锤,其他電腦訪問不了請設(shè)置一下防火墻
5蔚晨、FTP 安裝
請參考之前寫的一篇文章 基于 CentOS 搭建 FTP 文件服務(wù)
FTP 圖片上傳保存目錄為 /data/ftp/pub/img
6、配置Nginx 訪問FTP上的圖片
6.1 創(chuàng)建Nginx配置目錄
在/usr/local/nginx/conf
目錄中創(chuàng)建Nginx配置目錄conf.d
你為了方便統(tǒng)一管理Nginx的配置文件肛循。
mkdir -p /usr/local/nginx/conf/conf.d
6.2 設(shè)置主配置文件
設(shè)置主配置文件加載 conf.d中所有后綴名為conf的配置文件并開啟log_format main的日志
include conf.d/*.conf;
6.3 Nginx添加圖片server
在/usr/local/nginx/conf/conf.d
目錄中添加img.conf
文件并添加如下內(nèi)容:
server {
listen 8190;
error_log logs/storer_error.log debug;
access_log logs/storer_access.log main;
location /img/ {
#alias /data/ftp/pub/img/;
root /data/ftp/pub/;
}
}
檢查配置文件是否正確
../sbin/nginx -t
啟動Nginx
../sbin/nginx
如果之前有啟動
../sbin/nginx -s reload
瀏覽器輸入Nginx訪問地址測試
http://10.211.55.4:8190/img/666.jpeg
推薦閱讀
極速開發(fā)微信公眾號
IJPay 讓支付觸手可及
基于 CentOS 搭建 FTP 文件服務(wù)
基于 CentOS Mysql 5.7.19 安裝與主從同步配置詳解
Redis4.0.1安裝以及主從復(fù)制詳解
10分鐘搭建屬于自己的ngork服務(wù)器铭腕,實現(xiàn)內(nèi)網(wǎng)穿透
JDK開發(fā)環(huán)境搭建及環(huán)境變量配置