日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置

發(fā)布時(shí)間:2024/9/27 Nginx 68 豆豆
生活随笔 收集整理的這篇文章主要介紹了 01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.


1、下載Nginx,進(jìn)入Nginx下載地址:http://nginx.org/

點(diǎn)擊nginx-1.8.0,進(jìn)入:http://nginx.org/en/download.html,下載文件:

2 下載pcre,這個(gè)是一個(gè)正則表達(dá)式的庫,Nginxrewriter的時(shí)候回用到這個(gè)庫:

進(jìn)入pcre的官網(wǎng)(rewrite模式需要pcre)http://www.pcre.org/

選中右擊復(fù)制所需要的版本:

3 下載zlib(gzip模塊需要zlib)http://www.zlib.net/

4.將下面安裝文件上傳到Linux服務(wù)器上:

5 開始安裝Nginx

在正式開始前,編譯環(huán)境gcc g++開發(fā)庫之類的需要提前安裝好,這里默認(rèn)你已經(jīng)安裝好。Ubuntu平臺(tái)環(huán)境可以使用以下指令

apt-get install build-essential

apt-get install libtool

Centos平臺(tái)編譯環(huán)境使用如下指令

安裝make

yum -y install gcc automake autoconf libtool make

安裝g++

yum install gcc gcc-c++

Nginx依賴以下模塊:

gzip模塊需要zlib

rewrite模塊需要pcre

ssl功能需要openssl

?

一般我們需要先安裝pcre,zlib,前者為了重寫rewrite,后者為了gzip壓縮。

選定源碼目錄,選定/usr/local/src

下載openssl,地址:ftp://ftp.openssl.org/source/

tar -zxvf openssl-1.0.1c.tar.gz?? (下載穩(wěn)定版本)

cd openssl-1.0.1c

./config && make && make ?install

?

安裝pcre

tar zxvf pcre-8.37.tar.gz

cd pcre-8.37

./configure && make && make ?install

?

安裝zlib

tar zxvf zlib-1.2.8.tar.gz

cd zlib-1.2.8

./configure && make && make install

?

安裝nginx.

Nginx一般有兩個(gè)版本,分別是穩(wěn)定版和開發(fā)版,您可以根據(jù)您的目的來選擇這兩個(gè)版本的其中的一個(gè),下面是把Nginx安裝到/usr/local/nginx目錄的詳細(xì)步驟如下:

tar zxvf nginx-1.8.0.tar.gz

cd nginx-1.8.0

mkdir /usr/local/nginx

?

groupadd -r nginx

useradd -r -g nginx -s /bin/false -M nginx

?

#注意 \ 前面至少一個(gè)有空格

[root@localhost src]# cd nginx-1.8.0

[root@localhost nginx-1.8.0]# groupadd -r nginx

[root@localhost nginx-1.8.0]# useradd -r -gnginx -s /bin/false -M nginx


##注意:下面的with后面的路徑要正確。若是不正確,請(qǐng)確定后重新編寫下面的路徑配置。

[root@localhost nginx-1.8.0]# ./configure--sbin-path=/usr/local/nginx/nginx \

>--conf-path=/usr/local/nginx/nginx.conf \

> --pid-path=/usr/local/nginx/nginx.pid\

> --with-http_ssl_module \

> --with-pcre=../pcre-8.37 \? #指向解壓的源碼目錄

> --with-zlib=../zlib-1.2.8 \? #指向解壓的源碼目錄

> --with-openssl=../openssl-1.0.1c \? #指向解壓的源碼目錄

> --with-http_stub_status_module \

> --user=nginx \

> --group=nginx;

?

make && make install

?

在此過程中還可以使用下面的模塊:

> --with-http_gzip_static_module \

> --with-http_mp4_module \

> --with-http_flv_module \

?

安裝后的現(xiàn)象:

進(jìn)入/usr/local/nginx,發(fā)現(xiàn)有如下內(nèi)容:

?

啟動(dòng)nginx

/usr/local/nginx/nginx #不指定配置文件地址

/usr/local/nginx/nginx -c/usr/local/nginx/nginx.conf #指定配置文件地址

?

若此過程中出現(xiàn)了如下錯(cuò)誤:

nginx: [emerg] bind() to0.0.0.0:80 failed (98: Address already in use)

使用命令關(guān)閉占用80端口的程序

sudo fuser -k 80/tcp

?

停止服務(wù):

kill `cat /usr/local/nginx/nginx.pid`

?

在瀏覽器中輸入:192.168.6.25(如果是本機(jī)輸入localhost)如果看到歡迎界面則安裝成功:

?

虛擬主鍵配置:

只需要更改server_name為對(duì)應(yīng)的網(wǎng)站域名即可:

/usr/local/nginx

vim nginx.conf

?

檢測配置文件

/usr/local/nginx/nginx -t

?

重新加載配置文件(不停止服務(wù))

/usr/local/nginx/nginx -s reload

?

Nginx編譯參數(shù)解析:

–prefix #nginx安裝目錄,默認(rèn)在/usr/local/nginx

–pid-path #pid問件位置,默認(rèn)在logs目錄

–lock-path #lock問件位置,默認(rèn)在logs目錄

–with-http_ssl_module #開啟HTTP SSL模塊,以支持HTTPS請(qǐng)求。

–with-http_dav_module #開啟WebDAV擴(kuò)展動(dòng)作模塊,可為文件和目錄指定權(quán)限

–with-http_flv_module #支持對(duì)FLV文件的拖動(dòng)播放

–with-http_realip_module #支持顯示真實(shí)來源IP地址

–with-http_gzip_static_module #預(yù)壓縮文件傳前檢查,防止文件被重復(fù)壓縮

–with-http_stub_status_module #取得一些nginx的運(yùn)行狀態(tài)

–with-mail #允許POP3/IMAP4/SMTP代理模塊

–with-mail_ssl_module #允許POP3IMAPSMTP可以使用SSLTLS

–with-pcre=../pcre-8.11 #注意是未安裝的pcre路徑

–with-zlib=../zlib-1.2.5 #注意是未安裝的zlib路徑

–with-debug #允許調(diào)試日志

–http-client-body-temp-path #客戶端請(qǐng)求臨時(shí)文件路徑

–http-proxy-temp-path #設(shè)置http proxy臨時(shí)文件路徑

–http-fastcgi-temp-path #設(shè)置http fastcgi臨時(shí)文件路徑

–http-uwsgi-temp-path=/var/tmp/nginx/uwsgi #設(shè)置uwsgi 臨時(shí)文件路徑

–http-scgi-temp-path=/var/tmp/nginx/scgi #設(shè)置scgi 臨時(shí)文件路徑

?

6 nginx.conf配置說明:

nginx.conf是主配置文件。

worker_processes?? 表示工作進(jìn)程的數(shù)量,一般設(shè)置為cpu的核數(shù)

?

worker_connections? 表示每個(gè)工作進(jìn)程的最大連接數(shù)

?

server{}塊定義了虛擬主機(jī)

listener監(jiān)聽端口

?

server_name監(jiān)聽域名

?

Location{}是用來匹配的URI進(jìn)行配置,URI即語法中的”/uri”Location /{}匹配任何查詢,因?yàn)樗姓?qǐng)求都以/開頭。

root 指定對(duì)應(yīng)uri的資源查找路徑,這里html位相對(duì)路徑,完整路徑為/usr/local/nginx/html

Index指定首頁index文件的名稱,可以配置多個(gè),以空格分開。如有多個(gè),按配置順序查找。

????

從配置可以看出,nginx監(jiān)聽了80端口、域名為localhost、跟路徑為html文件夾(我的安裝路徑為/usr/local/nginx,所以:/usr/local/nginx/html),默認(rèn)index文件為index.html,index.htm、服務(wù)器錯(cuò)誤重定向到50x.html頁面。

可以看到/usr/local/nginx/html/有以下文件:

[root@localhost html]# cd /usr/local/nginx/html/

[root@localhost html]# ls

50x.html? index.html

這里是上面在瀏覽器中輸入http://localhost,能夠顯示歡迎頁面的原因。實(shí)際上訪問的是/usr/local/nginx/html/index.html

?

7 接下來配置一個(gè)web項(xiàng)目:

1)、將web項(xiàng)目上傳到/usr/local/nginx/html目錄下,目錄內(nèi)容如下:

修改vim nginx.conf的配置,新增的內(nèi)容如下:

不用關(guān)閉nginx的方式啟動(dòng)nginx:

/usr/local/nginx/nginx -c/usr/local/nginx/nginx.conf -s reload

如果發(fā)現(xiàn)虛擬機(jī)外不能訪問,其實(shí)是防火墻的問題,需要將防火墻關(guān)閉,關(guān)閉防火墻的代碼如下:

service iptables stop

接著在瀏覽器中輸入:http://192.168.6.25:8080/test/

?

8 mime.types配置

文件擴(kuò)展名與文件類型映射表,nginx根據(jù)映射關(guān)系,設(shè)置http請(qǐng)求響應(yīng)頭的Content-Type。當(dāng)在映射表找不到時(shí),使用nginx.confdefault-type指定的默認(rèn)值。例如,默認(rèn)配置中的指定的default-typeapplication/octet-stream

include?????? mime.types;

default_type? application/octet-stream;

默認(rèn)

?? 下面截取一段mime.types定義的文件擴(kuò)展名與文件類型映射關(guān)系,如下:

9 其它

fastcgi_params

nginx配置Fastcgi解析時(shí)會(huì)調(diào)用fastcgi_params配置文件來傳遞服務(wù)器變量,這樣CGI中可以獲取到這些變量的值。默認(rèn)傳遞以下變量:

這些變量的作用從其命名可以看出。

?

fastcgi.conf

對(duì)比下fastcgi.conffastcgi_params文件,可以看出只有以下差異:

/usr/local/nginx/conf$ diff fastcgi.conf fastcgi_params

2d1

< fastcgi_param? SCRIPT_FILENAME??? $document_root$fastcgi_script_name;

fastcgi.conf只比fastcgi_params多了一行“fastcgi_param?SCRIPT_FILENAME??? $document_root$fastcgi_script_name;

原本只有fastcgi_params文件,fastcgi.confnginx 0.8.30 (released: 15th of December 2009)才引入的。主要為是解決以下問題(參考:http://www.dwz.cn/x3GIJ):

原本Nginx只有fastcgi_params,后來發(fā)現(xiàn)很多人在定義SCRIPT_FILENAME時(shí)使用了硬編碼的方式。例如,fastcgi_param SCRIPT_FILENAME/var/www/foo$fastcgi_script_name。于是為了規(guī)范用法便引入了fastcgi.conf

不過這樣的話就產(chǎn)生一個(gè)疑問:為什么一定要引入一個(gè)新的配置文件,而不是修改舊的配置文件?這是因?yàn)?/span>fastcgi_param指令是數(shù)組型的,和普通指令相同的是:內(nèi)層替換外層;和普通指令不同的是:當(dāng)在同級(jí)多次使用的時(shí)候,是新增而不是替換。換句話說,如果在同級(jí)定義兩次SCRIPT_FILENAME,那么它們都會(huì)被發(fā)送到后端,這可能會(huì)導(dǎo)致一些潛在的問題,為了避免此類情況,便引入了一個(gè)新的配置文件。

因此不再建議大家使用以下方式(搜了一下,網(wǎng)上大量的文章,并且nginx.conf的默認(rèn)配置也是使用這種方式):

fastcgi_param SCRIPT_FILENAME$document_root$fastcgi_script_name;

include fastcgi_params;

而使用最新的方式:

include fastcgi.conf;

?

uwsgi_params

fastcgi_params一樣,傳遞哪些服務(wù)器變量,只有前綴不一樣,以uwsgi_param開始而非fastcgi_param

?

scgi_params

fastcgi_params一樣,傳遞哪些服務(wù)器變量,只有前綴不一樣,以uwsgi_param開始而非fastcgi_param

?

koi-utfkoi-winwin-utf

這三個(gè)文件都是與編碼轉(zhuǎn)換映射文件,用于在輸出內(nèi)容到客戶端時(shí),將一種編碼轉(zhuǎn)換到另一種編碼。

koi-win charset_map? koi8-r < -- > windows-1251

koi-utf charset_map? koi8-r < -- > utf-8

win-utf charset_map? windows-1251 < -- > utf-8

koi8-r斯拉夫文字8位元編碼,供俄語及保加利亞語使用。在Unicode未流行之前,KOI8-R 是最為廣泛使用的俄語編碼,使用率甚至起ISO/IEC 8859-5還高。這3個(gè)文件存在是因?yàn)樽髡呤嵌韲说脑颉?/span>

?

總結(jié)

以上是生活随笔為你收集整理的01_Nginx安装,nginx下部署项目,nginx.conf配置文件修改,相关文件配置的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。