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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx Web服务应用

發(fā)布時間:2025/4/5 Nginx 84 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx Web服务应用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Nginx“engine x”)是一個開源的,支持高性能、高并發(fā)的WWW服務(wù)和代理服務(wù)軟件。它還具有反向代理負載均衡功能和緩存服務(wù)功能。

?

1 Nginx的幾個常見的重要特性

1、支持高并發(fā):能支持幾萬并發(fā)連接(特別是靜態(tài)小文件業(yè)務(wù)環(huán)境)

2、資源消耗少:在3萬并發(fā)連接下,開啟10Nginx線程消耗的內(nèi)存不到200MB

3、可以做HTTP反向代理及加速緩存,即負載均衡功能,內(nèi)置對RS節(jié)點服務(wù)器健康檢查功能,這相當于專業(yè)的Haproxy軟件或LVS的功能

4、具備Squid等專業(yè)緩存軟件等的緩存功能

5、支持異步網(wǎng)絡(luò)I/O事件模型epolllinux2.6+

2 Nginx軟件的主要企業(yè)功能應(yīng)用

1)作為web服務(wù)軟件

支持高性能、高并發(fā),與Apache相比,Nginx能夠支持更多的并發(fā)連接訪問,但占用的資源卻更少,效率更高,幾乎不遜色于Apache

2)反向代理或負載均衡服務(wù)

在方向代理或負載均衡服務(wù)方面,Nginx可以作為web服務(wù)、PHP等動態(tài)服務(wù)及Memcached緩存的代理服務(wù)器,它具有類似專業(yè)反向代理軟件(如Haproxy)的功能,也是一個郵件代理服務(wù)軟件,支持TCP的代理。

3)前端業(yè)務(wù)數(shù)據(jù)緩存服務(wù)

web緩存服務(wù)方面,Nginx可以通過自身的proxy_cache模塊實現(xiàn)類Squid等專業(yè)緩存軟件的功能

3 Nginx Web服務(wù)

3.1 Nginx Web服務(wù)介紹

作為web服務(wù)器的主要應(yīng)用場景:

1)使用Nginx運行HTMLJSCSS、小圖片等靜態(tài)數(shù)據(jù)(類似Lighttpd

2Nginx結(jié)合FastCGI運行PHP等動態(tài)程序(使用fastcgi_pass方式)

3Nginx結(jié)合Tomcat/Resin等支持Java動態(tài)程序(常用proxy_pass方式)

3.2 為什么Nginx總體性能比Apache

Nginx使用epollkqueuefreebsd)異步網(wǎng)絡(luò)I/O模型,而Apache使用的是傳統(tǒng)的select模型。目前Linux下能夠承受高并發(fā)訪問的SquidMemcached軟件采用的都是epoll模型

處理大量連接的讀寫時,select網(wǎng)絡(luò)I/O模型比較低效。而epoll卻很高效

宿管比喻:

Select:帶著你到各個房間挨個去找人,知道找到人為止。

Epoll:會先記下每個人住的房間號,當你找人時,只需要告訴你住哪個房間即可,不用親自帶著你滿宿舍樓找人了。

如果同時來了100個人找人,效率差別就很明顯了。

3.3 如何正確選擇web服務(wù)器

靜態(tài)業(yè)務(wù):若是高并發(fā)場景,盡量采用NginxLighttpd,二者首選Ngingx

動態(tài)業(yè)務(wù):理論上采用NginxApache均可,建議選擇Nginx,為了避免相同業(yè)務(wù)的服務(wù)軟件多樣化,增加維護成本。動態(tài)業(yè)務(wù)可以由Nginx兼做前端代理,再轉(zhuǎn)發(fā)到后端相應(yīng)的服務(wù)器進行處理。

既有靜態(tài)業(yè)務(wù)又有動態(tài)業(yè)務(wù):采用Nginx

如果并發(fā)不是很大,又對Apache熟悉,也可以選擇Apache,總之選擇熟悉的。

4 編譯安裝Nginx

4.1 檢查系統(tǒng)版本

[root@lnmp02?~]#?cat?/etc/redhat-release CentOS?release?6.5?(Final) [root@lnmp02?~]#?uname?-r 2.6.32-431.el6.x86_64 [root@lnmp02?~]#?uname?-m x86_64

4.2 安裝Nginx所需的 pcre pcre-devel

[root@lnmp02?~]#?rpm?-qa?pcre?pcre-devel pcre-7.8-6.el6.x86_64 [root@lnmp02?~]#?yum?install?pcre?pcre-devel?-y [root@lnmp02?~]#?rpm?-qa?pcre?pcre-devel pcre-7.8-7.el6.x86_64 pcre-devel-7.8-7.el6.x86_64

4.3 安裝 openssl-devel openssl

[root@lnmp02?~]#?rpm?-qa?openssl-devel?openssl openssl-1.0.1e-15.el6.x86_64 [root@lnmp02?~]#?yum?install?openssl-devel?-y [root@lnmp02?~]#?rpm?-qa?openssl-devel?openssl openssl-1.0.1e-57.el6.x86_64 openssl-devel-1.0.1e-57.el6.x86_64

4.4 安裝 Ngnix

下載Nginx軟件

[root@lnmp02?~]#?rpm?-qa?ngnix [root@lnmp02?tools]#??wget?-q?http://nginx.org/download/nginx-1.6.3.tar.gz [root@lnmp02?tools]#?ls?-l 總用量?788 -rw-r--r--?1?root?root?805253?4月???8?2015?nginx-1.6.3.tar.gz

?

解壓Nginx

[root@lnmp02?tools]#?tar?xf?nginx-1.6.3.tar.gz?? [root@lnmp02?tools]#?cd?nginx-1.6.3 [root@lnmp02?nginx-1.6.3]#?ls auto??CHANGES??CHANGES.ru??conf??configure??contrib??html??LICENSE??man??README??src [root@lnmp02?nginx-1.6.3]#?tree|wc?-l 404

創(chuàng)建nginx用戶 設(shè)置安裝具體細節(jié)

[root@lnmp02?nginx-1.6.3]#?useradd?nginx?-s?/sbin/nologin?-M [root@lnmp02?nginx-1.6.3]#?./configure?--user=nginx?--group=nginx?--prefix=/application/nginx-1.6.3/?--with-http_stub_status_module?--with-http_ssl_module [root@lnmp02?nginx-1.6.3]#?make [root@lnmp02?nginx-1.6.3]#?make?install [root@lnmp02?nginx-1.6.3]#?echo?$? 0

創(chuàng)建軟鏈接

[root@lnmp02?nginx-1.6.3]#?cd?.. [root@lnmp02?tools]#?ln?-s?/application/nginx-1.6.3/?/application/nginx [root@lnmp02?tools]#?ls?-l?/application/ 總用量?4 lrwxrwxrwx?1?root?root???25?6月??24?16:58?nginx?->?/application/nginx-1.6.3/ drwxr-xr-x?6?root?root?4096?6月??24?16:57?nginx-1.6.3

安裝搞定,啟動并檢查安裝結(jié)果

啟動前檢查語法 [root@lnmp02?tools]#?/application/nginx/sbin/nginx?-t nginx:?the?configuration?file?/application/nginx-1.6.3//conf/nginx.conf?syntax?is?ok nginx:?configuration?file?/application/nginx-1.6.3//conf/nginx.conf?test?is?successful 啟動服務(wù) [root@lnmp02?tools]#?/application/nginx/sbin/nginx 查看nginx服務(wù)是否啟動成功 [root@lnmp02?tools]#?ps?-ef|grep?nginx|grep?-v?grep root???????7125??????1??0?17:05??????????00:00:00?nginx:?master?process?/application/nginx/sbin/nginx nginx??????7126???7125??0?17:05??????????00:00:00?nginx:?worker?process??????? [root@lnmp02?tools]#?ss?-lntup|grep?nginx tcp????LISTEN?????0??????128????????????????????*:80????????????????????*:*??????users:(("nginx",7125,6),("nginx",7126,6)) [root@lnmp02?tools]#?netstat?-lntup|grep?nginx tcp????????0??????0?0.0.0.0:80??????????????????0.0.0.0:*???????????????????LISTEN??????7125/nginx???????? 用curl命令檢測是否成功 [root@lnmp02?tools]#?curl?127.0.0.1 <!DOCTYPE?html> <html> <head> <title>Welcome?to?nginx!</title>??《=============看到此處歡迎說明成功了,也可以用瀏覽器輸出服務(wù)器地址來檢測,也可以用wget命令測試 <style>body?{width:?35em;margin:?0?auto;font-family:?Tahoma,?Verdana,?Arial,?sans-serif;} </style> </head> <body> <h1>Welcome?to?nginx!</h1> <p>If?you?see?this?page,?the?nginx?web?server?is?successfully?installed?and working.?Further?configuration?is?required.</p><p>For?online?documentation?and?support?please?refer?to <a?href="http://nginx.org/">nginx.org</a>.<br/> Commercial?support?is?available?at <a?href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank?you?for?using?nginx.</em></p> </body> </html>

5 Nginx深入剖析

5.1 Nginx http功能模塊匯總

http_core_module??????

包括一些核心的http參數(shù)配置

http_access_module????

訪問控制模塊

http_gzip_module??????

壓縮模塊

http_fastcgi_module???

fastcgi模塊

http_proxy_module ???

代理模塊

http_upstream_module 

負載均衡模塊

http_rewrite_module ? ?

URL地址重寫模塊

http_limit_conn_module 

限制用戶的并發(fā)連接以及請求數(shù)

http_limit_req_module 

定義的key限制nginx請求過程的速率

http_log_module  ???

訪問日志模塊,指定格式記錄nginx客戶訪問日志

http_auth_basic_module 

web認證,設(shè)置web用戶通過賬號和密碼訪問nginx

http_ssl_module???????

加密的http

http_stub_status_module

記錄nginx基本訪問狀態(tài)信息

?

5.2 Nginx的目錄結(jié)構(gòu)

5.3 主配置文件nginx.conf

?????12??#user??nobody;3??worker_processes??1;45??#error_log??logs/error.log;6??#error_log??logs/error.log??notice;7??#error_log??logs/error.log??info;89??#pid????????logs/nginx.pid;??????#1~9為Main區(qū),核心功能模塊101112??events?{???????????????????13??????worker_connections??1024;???#12~13行為events區(qū),核心功能模塊14??}151617??http?{?????????????????????????#17行是http區(qū)開始,http核心模塊18??????include???????mime.types;19??????default_type??application/octet-stream;2021??????#log_format??main??'$remote_addr?-?$remote_user?[$time_local]?"$request"?'22??????#??????????????????'$status?$body_bytes_sent?"$http_referer"?'23??????#??????????????????'"$http_user_agent"?"$http_x_forwarded_for"';2425??????#access_log??logs/access.log??main;2627??????sendfile????????on;28??????#tcp_nopush?????on;2930??????#keepalive_timeout??0;31??????keepalive_timeout??65;3233??????#gzip??on;3435??????server?{???????????????????#35~46為server區(qū)塊36??????????listen???????80;37??????????server_name??localhost;3839??????????#charset?koi8-r;4041??????????#access_log??logs/host.access.log??main;4243??????????location?/?{???????????????#location區(qū)塊44??????????????root???html;45??????????????index??index.html?index.htm;46??????????}47??????}48??}???????????????#http區(qū)塊結(jié)束


整個Nginx配置文件的核心框架如下:

worker_processes??1; events?{worker_connections??1024; } http?{include???????mime.types;server?{listen???????80;server_name??localhost;location?/?{root???html;index??index.html?index.htm;}??????} }

關(guān)于配置文件的詳細解釋

[root@lnmp02?~]#?egrep?-v?"#|^$"?/application/nginx/conf/nginx.conf.default worker_processes??1;????????????<===worker進程數(shù)量 events?{???????????????????????<===事件區(qū)塊開始worker_connections??1024;???<===每個worker進程支持的最大連接數(shù) }?????????????????????????????<===事件區(qū)塊結(jié)束 http?{?????????????????????????<===http區(qū)塊開始include???????mime.types;???????<===Nginx支持的媒體類型庫文件default_type??application/octet-stream;????<===默認的媒體類型sendfile????????on;???????????????????<===開啟高效傳輸模式keepalive_timeout??65;?????????????????<===連接超時server?{????????????????????<===第一個server區(qū)塊開始,表示一個虛擬主機站點listen???????80;?????????<===提供服務(wù)的端口,默認80server_name??localhost;???<===提供服務(wù)的域名主機名location?/?{??????????????<===第一個location區(qū)塊開始root???html;?????????<===站點的根目錄,相當于Nginx的安裝目錄index??index.html?index.htm;??<===默認首頁文件,多個用空格分開}?????????????????????????????<===第一個location區(qū)塊結(jié)束error_page???500?502?503?504??/50x.html;??<===出現(xiàn)對應(yīng)的狀態(tài)碼時,使用50x.html回應(yīng)客戶location?=?/50x.html?{?????????????<===location區(qū)塊開始,訪問50x.htmlroot???html;????????????????<===指定對應(yīng)的站點目錄為html}} }??????????????????????????????????????<===http區(qū)塊結(jié)束


6 Nginx虛擬主機配置

6.1 Nginx虛擬主機配置(以基于域名的虛擬主機為例)

1、基于域名的虛擬主機*****

2、基于端口的虛擬主機***

3、基于IP的虛擬主機

增加新域名對應(yīng)的配置

[

root@lnmp02?tools]#?cd?/application/nginx [root@lnmp02?nginx]#?cd?conf/ [root@lnmp02?conf]#?egrep?-v?"#|^$"?nginx.conf.default??>nginx.conf [root@lnmp02?conf]#?vim?nginx.conf worker_processes??1; events?{worker_connections??1024; } http?{include???????mime.types;default_type??application/octet-stream;sendfile????????on;keepalive_timeout??65;server?{listen???????80;????《=============若配置基于端口或者IP的虛擬主機,在此修改端口號或者添加IPserver_name??www.etiantian123.org;location?/?{root???html/www;index??index.html?index.htm;}}server?{listen???????80;????《=============例如:基于IP:192.168.4.122:80server_name??bbs.etiantian123.org;location?/?{root???html/bbs;index??index.html?index.htm;}}}

檢查語法

[root@lnmp02?conf]#?/application/nginx/sbin/nginx?-t nginx:?the?configuration?file?/application/nginx-1.6.3//conf/nginx.conf?syntax?is?ok nginx:?configuration?file?/application/nginx-1.6.3//conf/nginx.conf?test?is?successful

創(chuàng)建域名對應(yīng)的站點目錄及文件

[root@lnmp02?conf]#?mkdir?../html/{www,bbs} [root@lnmp02?conf]#?tree?../html/ ../html/ ├──?50x.html ├──?bbs ├──?index.html └──?www [root@lnmp02?conf]#?echo?"www.etiantian.org"?>../html/www/index.html [root@lnmp02?conf]#?echo?"bbs.etiantian.org"?>../html/bbs/index.html [root@lnmp02?conf]#?cat??../html/{www,bbs}/index.html www.etiantian.org bbs.etiantian.org

平滑啟動服務(wù)

[root@lnmp02?conf]#?/application/nginx/sbin/nginx?-s?reload

修改/etc/hosts

[root@lnmp02?conf]#?vim?/etc/hosts 127.0.0.1???localhost?localhost.localdomain?localhost4?localhost4.localdomain4 ::1?????????localhost?localhost.localdomain?localhost6?localhost6.localdomain6 192.168.4.122?lnmp02 192.168.4.122?www.etiantian123.org 192.168.4.122?bbs.etiantian123.org

curl測試是否成功

[root@lnmp02?conf]#?curl?www.etiantian123.org www.etiantian.org [root@lnmp02?conf]#?curl?bbs.etiantian123.org bbs.etiantian.org 如果是windows測試,則需要修改/etc/hosts文件,格式和linux一致


規(guī)范優(yōu)化Nginx配置文件

[root@lnmp02?conf]#?cat?nginx.conf worker_processes??1; events?{worker_connections??1024; } http?{include???????mime.types;default_type??application/octet-stream;sendfile????????on;keepalive_timeout??65;#nginx?vhosts?configinclude?extra/www.conf;include?extra/bbs.conf;include?extra/blog.conf; } [root@lnmp02?conf]#?mkdir?extra [root@lnmp02?conf]#?sed?-n?'10,17p'?nginx.conf.ori.1server?{listen???????80;server_name??www.etiantian123.org;location?/?{root???html/www;index??index.html?index.htm;}??????}?? [root@lnmp02?conf]#?sed?-n?'10,17p'?nginx.conf.ori.1?>extra/www.conf [root@lnmp02?conf]#?cat?extra/www.confserver?{listen???????80;server_name??www.etiantian123.org;location?/?{root???html/www;index??index.html?index.htm;}??????}?? [root@lnmp02?conf]#?sed?-n?'18,25p'?nginx.conf.ori.1?>extra/bbs.conf??? [root@lnmp02?conf]#?sed?-n?'26,33p'?nginx.conf.ori.1server?{listen???????80;server_name??blog.etiantian123.org;location?/?{root???html/blog;index??index.html?index.htm;}} [root@lnmp02?conf]#?sed?-n?'26,33p'?nginx.conf.ori.1?>extra/blog.conf

配置好檢查一下

[root@lnmp02?conf]#?cat?extra/blog.conf [root@lnmp02?conf]#?cat?extra/bbs.conf? [root@lnmp02?conf]#?cat?extra/www.conf

重啟下服務(wù)

[root@lnmp02?conf]#?../sbin/nginx?-t nginx:?the?configuration?file?/application/nginx-1.6.3//conf/nginx.conf?syntax?is?ok nginx:?configuration?file?/application/nginx-1.6.3//conf/nginx.conf?test?is?successful [root@lnmp02?conf]#?../sbin/nginx?-s?reload

6.2 Nginx虛擬主機的別名配置

[root@lnmp02?conf]#?cat?extra/www.confserver?{listen???????80;server_name??www.etiantian123.org?etiantian123.org;?<===直接在域名后面添加別名location?/?{root???html/www;index??index.html?index.htm;}??????}

/etc/hosts添加別名的解析

[root@lnmp02?conf]#?cat?/etc/hosts 127.0.0.1???localhost?localhost.localdomain?localhost4?localhost4.localdomain4 ::1?????????localhost?localhost.localdomain?localhost6?localhost6.localdomain6 192.168.4.122?lnmp02 192.168.4.122?www.etiantian123.org?etiantian123.org????<=======添加別名 192.168.4.122?bbs.etiantian123.org 192.168.4.122?blog.etiantian123.org 192.168.4.122?status.etiantian123.org

檢查并重新加載服務(wù)

[root@lnmp02?conf]#?../sbin/nginx?-t [root@lnmp02?conf]#?../sbin/nginx?-s?reload

6.3 Nginx狀態(tài)信息功能

[root@lnmp02?conf]#?cat?extra/status.conf ##status????server?{listen???????80;server_name??status.etiantian123.org;location?/?{stub_status?on;????????<============打開狀態(tài)信息開關(guān)access_log???off;}??????}

?

增加包含文件的配置到主配置文件

[root@lnmp02?conf]#?cat?nginx.conf worker_processes??1; events?{worker_connections??1024; } http?{include???????mime.types;default_type??application/octet-stream;sendfile????????on;keepalive_timeout??65;#nginx?vhosts?configinclude?extra/www.conf;include?extra/bbs.conf;include?extra/blog.conf;include?extra/status.conf;???<============增加status配置


檢查語法重啟服務(wù)

[root@lnmp02?conf]#?../sbin/nginx?-t [root@lnmp02?conf]#?../sbin/nginx?-s?reload

6.4 Nginx增加錯誤日志配置

[root@lnmp02?conf]#?cat?nginx.conf worker_processes??1; error_log??logs/error.log;????#<=======默認配置這一行即可 events?{worker_connections??1024; } http?{include???????mime.types;default_type??application/octet-stream;sendfile????????on;keepalive_timeout??65;#nginx?vhosts?configinclude?extra/www.conf;include?extra/bbs.conf;include?extra/blog.conf;include?extra/status.conf; }

6.5 Nginx訪問日志

訪問日志的配置

[root@lnmp02?conf]#?vim?nginx.conf worker_processes??1; error_log??logs/error.log; events?{worker_connections??1024; } http?{include???????mime.types;default_type??application/octet-stream;log_format??main??'$remote_addr?-?$remote_user?[$time_local]?"$request"?'??#'$status?$body_bytes_sent?"$http_referer"?'???????????#'"$http_user_agent"?"$http_x_forwarded_for"';????????#增加這三行sendfile????????on;keepalive_timeout??65;#nginx?vhosts?configinclude?extra/www.conf;include?extra/bbs.conf;include?extra/blog.conf;include?extra/status.conf; }

然后在每個虛擬主機里進行配置(以www為例子)

[root@lnmp02?conf]#?vim?extra/www.confserver?{listen???????80;server_name??www.etiantian123.org?etiantian123.org;location?/?{root???html/www;index??index.html?index.htm;}access_log?logs/access_www.log?main;?????《=====增加一行日志配置,main是為日志格式指定的標簽}

檢查并重啟服務(wù)

[root@lnmp02?conf]#?../sbin/nginx?-t nginx:?the?configuration?file?/application/nginx-1.6.3//conf/nginx.conf?syntax?is?ok nginx:?configuration?file?/application/nginx-1.6.3//conf/nginx.conf?test?is?successful [root@lnmp02?conf]#?../sbin/nginx?-s?reload

用瀏覽器模擬用戶訪問生成日志,在服務(wù)器上查詢結(jié)果

[root@lnmp02?conf]#?tail?-1?../logs/access_www.log 192.168.4.101?-?-?[25/Jun/2017:00:54:50?+0800]?"GET?/favicon.ico?HTTP/1.1"?404?570?"-"?"Mozilla/4.0?(compatible;?MSIE?7.0;?LBBROWSER)"?"-"

在高并發(fā)場景下提升網(wǎng)站訪問性能,可以加上bufferflush選項參數(shù),打包

access_log?logs/access_www.log?main?gzip?buffer=32K?flush=5s

Ngnix訪問日志輪詢切割

創(chuàng)建腳本

[root@lnmp02?conf]#?vim?/server/scripts/cut_nginx_log.sh#!/bin/sh Dateformat=`date?+%Y%m%d` Basedir="/application/nginx" Nginxlogdir="$Basedir/logs" Logname="access_www" [?-d?$Nginxlogdir?]?&&?cd?$Nginxlogdir||exit?1 [?-f?${Logname}.log?]||exit?1 /bin/mv?${Logname}.log?${Dateformat}_${Logname}.log #/bin/mv?access_bbs.log?${Dateformat}_access_bbs.log #/bin/mv?access_blog.log?${Dateformat}_access_blog.log $Basedir/sbin/nginx?-s?reload

通過定時任務(wù)實現(xiàn)每天0點執(zhí)行/server/scripts/cut_nginx_log.sh來切割日志

[root@lnmp02?conf]#?crontab?-e #########nginx訪問日志切割################ 00?00?*?*?*?/bin/sh?/server/scripts/cut_nginx_log.sh?&>/dev/null

測試效果

[root@lnmp02?logs]#?/bin/sh?/server/scripts/cut_nginx_log.sh [root@lnmp02?logs]#?ll 總用量?100 -rw-r--r--?1?root?root??1458?6月??25?00:54?20170625_access_www.log -rw-r--r--?1?root?root?40537?6月??25?00:54?access.log -rw-r--r--?1?root?root?????0?6月??25?01:13?access_www.log -rw-r--r--?1?root?root?44005?6月??25?01:13?error.log -rw-r--r--?1?root?root?????5?6月??24?17:05?nginx.pid

7 Nginx rewrite

指令語法:rewrite regex replacement [flag]

rewrite ^/ (.*)? http://www.etiantian.org/$1 permanent;

?

flag標記說明

flag標記符號

說明

last

本條規(guī)則匹配完成后,繼續(xù)向下匹配新的location URI規(guī)則

break

本條規(guī)則匹配完成后即終止,不再匹配后面的任何規(guī)則

redirect

返回302臨時重定向,瀏覽器顯示跳轉(zhuǎn)后的URL地址

permanent

返回301永久重定向,瀏覽器顯示跳轉(zhuǎn)后的URL地址

?

7.1 301跳轉(zhuǎn)

?

[root@lnmp02?conf]#?vim?extra/www.confserver?{listen???????80;server_name??etiantian123.org;rewrite?^/?(.*)??http://www.etiantian123.org/$1?permanent;#當用戶訪問etiantian123.org及下面的任意內(nèi)容時,都會通過這條rewrite跳轉(zhuǎn)到www.etiantian123.org對應(yīng)的地址 }server?{listen???????80;server_name??www.etiantian123.org;location?/?{root???html/www;index??index.html?index.htm;}access_log?logs/access_www.log?main; }

7.2 不同域名的URL跳轉(zhuǎn)

實現(xiàn)訪問http://blog.etiantian123.org時跳轉(zhuǎn)到

http://www.etiantian123.org/blog/wangxin.html

?

跳轉(zhuǎn)前,http://blog.etiantian123.org對應(yīng)的站點配置如下:

[root@lnmp02?conf]#?vim?extra/blog.conf server?{listen???????80;server_name??blog.etiantian123.org;location?/?{root???html/blog;index??index.html?index.htm;}if??(?$http_host?~*?“^(.*)\.etiantian123\.org$”?)?{set?$domain?$1;rewrite?^(.*)??http://www.etiantian123.org/$domain/wangxin.html?break;} }

要配置的規(guī)則內(nèi)容為:

if??(?$http_host?~*?“^(.*)\.etiantian123\.org$”?)?{set?$domain?$1;rewrite?^(.*)??http://www.etiantian123.org/$domain/wangxin.html?break;}

跳轉(zhuǎn)后,http://www.etiantian123.org/blog/wangxin.html地址對應(yīng)的站點配置如下

[root@lnmp02?conf]#?vim?extra/www.confserver?{listen???????80;server_name??www.etiantian123.org;location?/?{root???html/www;index??index.html?index.htm;}access_log?logs/access_www.log?main; }

8 Nginx 訪問認證

虛擬主機的配置

[root@lnmp02?nginx]#?vim?conf/extra/www.confserver?{listen???????80;server_name??www.etiantian123.org?etiantian123.org;location?/?{root???html/www;index??index.html?index.htm;auth_basic????????????"wangxin?test";auth_basic_user_file??/application/nginx/conf/htpasswd;}access_log?logs/access_www.log?main;}

設(shè)置帳號密碼,并修改權(quán)限

[root@lnmp02?nginx]#?yum?install?-y?httpd [root@lnmp02?nginx]#?which?htpasswd /usr/bin/htpasswd[root@lnmp02?nginx]#?htpasswd?-bc?/application/nginx/conf/htpasswd?wangxian?123456 Adding?password?for?user?wangxian [root@lnmp02?nginx]#?chmod?400?/application/nginx/conf/htpasswd [root@lnmp02?nginx]#?chown?nginx?/application/nginx/conf/htpasswd [root@lnmp02?nginx]#?cat?/application/nginx/conf/htpasswd wangxian:K4zAKSh.uY.sY??????===密碼是加密的


檢查語法,重啟服務(wù)

[root@lnmp02?nginx]#?/application/nginx/sbin/nginx?-t nginx:?the?configuration?file?/application/nginx-1.6.3//conf/nginx.conf?syntax?is?ok nginx:?configuration?file?/application/nginx-1.6.3//conf/nginx.conf?test?is?successful [root@lnmp02?nginx]#?/application/nginx/sbin/nginx?-s?reload

瀏覽器測試



轉(zhuǎn)載于:https://blog.51cto.com/zaizheni/2345308

總結(jié)

以上是生活随笔為你收集整理的Nginx Web服务应用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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