1、nginx 簡(jiǎn)介
nginx (engine x) 是一個(gè)高性能的http和反向代理服務(wù)器,也是一個(gè)imap/pop3/smtp服務(wù)器。nginx是由伊戈?duì)?middot;賽索耶夫?yàn)槎砹_斯訪問(wèn)量第二的rambler.ru站點(diǎn)(俄文:рамблер)開(kāi)發(fā)的,第一個(gè)公開(kāi)版本0.1.0發(fā)布于2004年10月4日。
其將源代碼以類(lèi)bsd許可證的形式發(fā)布,因它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。2011年6月1日,nginx 1.0.4發(fā)布。
nginx是一款輕量級(jí)的web 服務(wù)器/反向代理服務(wù)器及電子郵件(imap/pop3)代理服務(wù)器,并在一個(gè)bsd-like 協(xié)議下發(fā)行。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類(lèi)型的網(wǎng)頁(yè)服務(wù)器中表現(xiàn)較好,中國(guó)大陸使用nginx網(wǎng)站用戶有:百度、京東、新浪、網(wǎng)易、騰訊、淘寶等。
這篇文章主要介紹了centos 通過(guò) nginx 和 vsftpd 構(gòu)建圖片服務(wù)器, 需要的朋友可以參考下
2、nginx 安裝
2.1 、nginx 安裝環(huán)境
1
|
yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel |
下面是一些簡(jiǎn)單的介紹
nginx 是 c 語(yǔ)言開(kāi)發(fā),建議在 linux 上運(yùn)行,本教程使用 centos 7.2 作為安裝環(huán)境。
1
2
|
# cat /etc/redhat-release # uname -a |
安裝 nginx 需要先將官網(wǎng)下載的源碼進(jìn)行編譯,編譯依賴 gcc 環(huán)境,如果沒(méi)有 gcc 環(huán)境,需要安裝 gcc:
1
|
yum install gcc-c++ |
pcre(perlcompatible regular expressions) 是一個(gè) perl 庫(kù),包括 perl 兼容的正則表達(dá)式庫(kù)。nginx 的 http 模塊使用 pcre 來(lái)解析正則表達(dá)式,所以需要在 linux 上安裝 pcre 庫(kù)。
1
|
yum install -y pcre pcre-devel |
注:pcre-devel 是使用 pcre 開(kāi)發(fā)的一個(gè)二次開(kāi)發(fā)庫(kù)。nginx 也需要此庫(kù)。
zlib 庫(kù)提供了很多種壓縮和解壓縮的方式,nginx 使用 zlib 對(duì) http 包的內(nèi)容進(jìn)行 gzip,所以需要在 linux 上安裝 zlib 庫(kù)。
1
|
yum install -y zlib zlib-devel |
openssl 是一個(gè)強(qiáng)大的安全套接字層密碼庫(kù),囊括主要的密碼算法、常用的密鑰和證書(shū)封裝管理功能及 ssl 協(xié)議,并提供豐富的應(yīng)用程序供測(cè)試或其它目的使用。
nginx 不僅支持 http 協(xié)議,還支持 https(即在 ssl 協(xié)議上傳輸 http),所以需要在 linux 安裝 openssl 庫(kù)。
1
|
yum install -y openssl openssl-devel |
2.2 、下載nginx 編譯安裝
nginx官網(wǎng)提供了三個(gè)類(lèi)型的版本
- mainline version:mainline 是 nginx 目前主力在做的版本,可以說(shuō)是開(kāi)發(fā)版
- stable version:最新穩(wěn)定版,生產(chǎn)環(huán)境上建議使用的版本
- legacy versions:遺留的老版本的穩(wěn)定版
演示使用的是nginx-1.13.4
1、下載nginx
1
|
# wget http://nginx.org/download/nginx-1.13.4.tar.gz |
2、解壓:
1
|
tar -zxvf nginx-1.13.4. tar .gz |
3、進(jìn)入 nginx 的根目錄:
1
|
cd nginx-1.13.4 |
4、 configure 配置
查詢?cè)敿?xì)參數(shù)
1
|
./configure --help |
這里只配置安裝目錄其他參數(shù)默認(rèn)
1
|
./configure --prefix=/usr/local/nginx |
配置成功的截圖
5、編譯安裝
1
2
|
make make install |
make 編譯 (make的過(guò)程是把各種語(yǔ)言寫(xiě)的源碼文件,變成可執(zhí)行文件和各種庫(kù)文件)
make install 安裝 (make install是把這些編譯出來(lái)的可執(zhí)行文件和庫(kù)文件復(fù)制到合適的地方)
安裝成功查看安裝目錄 :
3、nginx 啟動(dòng)與停止
3.1 判斷配置文件是否正確
1
2
3
4
5
|
cd /usr/local/nginx/sbin . /nginx -t 或者指定配置文件 . /nginx -t -c /usr/local/nginx/conf/nginx .conf |
3.2 啟動(dòng)
1
2
|
cd /usr/local/nginx/sbin/ . /nginx |
注意:執(zhí)行./nginx 啟動(dòng) nginx,這里可以 - c 指定加載的 nginx 配置文件,如下:
1
2
|
cd /usr/local/nginx/sbin/ . /nginx -c /usr/local/nginx/conf/nginx .conf |
如果不指定 - c,nginx 在啟動(dòng)時(shí)默認(rèn)加載 conf/nginx.conf 文件,此文件的地址也可以在編譯安裝 nginx 時(shí)指定./configure 的參數(shù)(--conf-path= 指向配置文件(nginx.conf))
查詢 nginx 進(jìn)程:
27811 是 nginx 主進(jìn)程的進(jìn)程 id,27812 是 nginx 工作進(jìn)程的進(jìn)程 id
3.3 停止與重啟 nginx
3.3.1 停止
方式 1,快速停止:
1
2
|
cd /usr/local/nginx/sbin . /nginx -s stop |
此方式相當(dāng)于先查出 nginx 進(jìn)程 id 再使用 kill 命令強(qiáng)制殺掉進(jìn)程。
方式 2,完整停止 (建議使用):
1
2
|
cd /usr/local/nginx/sbin ./nginx -s quit |
此方式停止步驟是待 nginx 進(jìn)程處理任務(wù)完畢進(jìn)行停止。
3.3.2 重啟 nginx
方式 1,先停止再啟動(dòng)(建議使用):
對(duì) nginx 進(jìn)行重啟相當(dāng)于先停止 nginx 再啟動(dòng) nginx,即先執(zhí)行停止命令再執(zhí)行啟動(dòng)命令。
如下:
1
2
|
./nginx -s quit ./nginx |
方式 2,重新加載配置文件:
當(dāng) nginx 的配置文件 nginx.conf 修改后,要想讓配置生效需要重啟 nginx,使用 - s reload 不用先停止 nginx 再啟動(dòng) nginx 即可將配置信息在 nginx 中生效,如下:
1
|
./nginx -s reload |
4、測(cè)試nginx
nginx 安裝成功,啟動(dòng) nginx,即可訪問(wèn)虛擬機(jī)上的 nginx。如果nginx啟動(dòng)了,其他電腦訪問(wèn)不了請(qǐng)?jiān)O(shè)置一下防火墻
5、ftp 安裝
請(qǐng)參考之前寫(xiě)的一篇文章基于 centos 搭建 ftp 文件服務(wù)
ftp 圖片上傳保存目錄為 /data/ftp/pub/img
6、配置nginx 訪問(wèn)ftp上的圖片
6.1 創(chuàng)建nginx配置目錄
在/usr/local/nginx/conf目錄中創(chuàng)建nginx配置目錄conf.d你為了方便統(tǒng)一管理nginx的配置文件。
1
|
mkdir -p /usr/local/nginx/conf/conf .d |
6.2 設(shè)置主配置文件
設(shè)置主配置文件加載 conf.d中所有后綴名為conf的配置文件并開(kāi)啟log_format main的日志
1
|
include conf.d/*.conf; |
6.3 nginx添加圖片server
在/usr/local/nginx/conf/conf.d目錄中添加img.conf文件并添加如下內(nèi)容:
1
2
3
4
5
6
7
8
9
|
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/; } } |
檢查配置文件是否正確
1
|
../sbin/nginx -t |
啟動(dòng)nginx
1
|
../sbin/nginx |
如果之前有啟動(dòng)
1
|
../sbin/nginx -s reload |
瀏覽器輸入nginx訪問(wèn)地址測(cè)試http://10.211.55.4:8190/img/666.jpeg
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。
原文鏈接:http://www.jianshu.com/p/765990469fdc?utm_source=tuicool&utm_medium=referral