下載
官方網(wǎng)站:https://nginx.org/en/download.html
安裝
下載后解壓(切記不能含有中文路徑!!),文件結(jié)構(gòu)如圖(我解壓的路徑就有中文,記得拷貝放置于英文目錄下即可!):
啟動(dòng)
兩種方法:
1) 直接雙擊該目錄下的"nginx.exe",即可啟動(dòng)nginx服務(wù)器;
2) 命令行進(jìn)入該文件夾,執(zhí)行start nginx命令,也會(huì)直接啟動(dòng)nginx服務(wù)器。
驗(yàn)證
開瀏覽器,輸入地址:http://localhost,訪問頁(yè)面,出現(xiàn)如下頁(yè)面表示訪問成功。
Nginx Windows基本操作指令
啟動(dòng)服務(wù):start?nginx 退出服務(wù):nginx?-s?quit 強(qiáng)制關(guān)閉服務(wù):nginx?-s?stop 重載服務(wù):nginx?-s?reload (重載服務(wù)配置文件,類似于重啟,服務(wù)不會(huì)中止) 驗(yàn)證配置文件:nginx?-t 使用配置文件:nginx?-c?"配置文件路徑" 使用幫助:nginx?-h
申明:基于CentOS 7系統(tǒng)。
Nginx依賴包
模塊依賴性Nginx需要依賴下面3個(gè)包
ssl功能需要 openssl 庫(kù) ( 點(diǎn)擊下載 )
gzip模塊需要 zlib 庫(kù) ( 點(diǎn)擊下載 )
rewrite模塊需要 pcre 庫(kù) ( 點(diǎn)擊下載 )
依賴包安裝順序依次為:openssl、zlib、pcre, 最后安裝Nginx包。
安裝教程(源碼安裝)
step 1:下載所需包
openssl-fips-2.0.2.tar.gz zlib-1.2.7.tar.gz pcre-8.21.tar.gz nginx-1.12.2.tar.gz
step 2:安裝OpenSSL
[root@localhost?wcw]#?tar?-zxvf?openssl-fips-2.0.2.tar.gz? [root@localhost?wcw]#?cd?openssl-fips-2.0.2 [root@localhost?openssl-fips-2.0.2]#?./config? [root@localhost?openssl-fips-2.0.2]#?make [root@localhost?openssl-fips-2.0.2]#?make?install
step 3:安裝zlib
[root@localhost?wcw]#?tar?-zxvf?zlib-1.2.7.tar.gz [root@localhost?wcw]#?cd?zlib-1.2.7 [root@localhost?zlib-1.2.7]#?./configure? [root@localhost?zlib-1.2.7]#?make [root@localhost?zlib-1.2.7]#?make?install
step 4:安裝pcre
[root@localhost?wcw]#?tar?-zxvf?pcre-8.21.tar.gz [root@localhost?wcw]#?cd?pcre-8.21 [root@localhost?pcre-8.21]#?./configure? [root@localhost?pcre-8.21]#?make [root@localhost?pcre-8.21]#?make?install
step 5:安裝Nginx
[root@localhost?wcw]#?tar?-zxvf?nginx-1.12.2.tar.gz? [root@localhost?wcw]#?cd?nginx-1.12.2 [root@localhost?nginx-1.12.2]#?./configure?--prefix=/usr/install/nginx?--with-pcre=../pcre-8.21?--with-zlib=../zlib-1.2.7?--with-openssl=../openssl-fips-2.0.2 [root@localhost?nginx-1.12.2]#?make [root@localhost?nginx-1.12.2]#?make?install
請(qǐng)注意:"--with-xxx="的值是解壓目錄,而不是安裝目錄!
Nginx Linux基本操作指令
啟動(dòng)服務(wù):nginx 退出服務(wù):nginx?-s?quit 強(qiáng)制關(guān)閉服務(wù):nginx?-s?stop 重載服務(wù):nginx?-s?reload (重載服務(wù)配置文件,類似于重啟,但服務(wù)不會(huì)中止) 驗(yàn)證配置文件:nginx?-t 使用配置文件:nginx?-c?"配置文件路徑" 使用幫助:nginx?-h
此時(shí)可以為Nginx添加環(huán)境變量,以便操作服務(wù)。(>>如何添加Linux環(huán)境變量?)
檢測(cè)是否安裝成功:
[root@localhost?wcw]#?nginx?-t
出現(xiàn)如下提示,表示安裝成功。
或者,在瀏覽器地址輸入"127.0.0.1"回車出現(xiàn)如下頁(yè)面,則表示安裝成功。
在項(xiàng)目使用中,使用最多的三個(gè)核心功能是靜態(tài)服務(wù)器、反向代理和負(fù)載均衡。
這三個(gè)不同的功能的使用,都跟Nginx的配置密切相關(guān),Nginx服務(wù)器的配置信息主要集中在"nginx.conf"這個(gè)配置文件中,并且所有的可配置選項(xiàng)大致分為以下幾個(gè)部分.
main?#?全局配置 events?{?#?工作模式配置 } http?{?#?http設(shè)置 ?.... ?server?{?#?服務(wù)器主機(jī)配置(虛擬主機(jī)、反向代理等) ?.... ?location?{?#?路由配置(虛擬目錄等) ?.... ?} ?location?path?{ ?.... ?} ?location?otherpath?{ ?.... ?} ?} ?server?{ ?.... ?location?{ ?.... ?} ?} ?upstream?name?{?#?負(fù)載均衡配置 ?.... ?} }
main模塊
user 用來指定nginx worker進(jìn)程運(yùn)行用戶以及用戶組,默認(rèn)nobody賬號(hào)運(yùn)行
worker_processes 指定nginx要開啟的子進(jìn)程數(shù)量,運(yùn)行過程中監(jiān)控每個(gè)進(jìn)程消耗內(nèi)存(一般幾M~幾十M不等)根據(jù)實(shí)際情況進(jìn)行調(diào)整,通常數(shù)量是CPU內(nèi)核數(shù)量的整數(shù)倍
error_log 定義錯(cuò)誤日志文件的位置及輸出級(jí)別【debug / info / notice / warn / error / crit】
pid 用來指定進(jìn)程id的存儲(chǔ)文件的位置
worker_rlimit_nofile 用于指定一個(gè)進(jìn)程可以打開最多文件數(shù)量的描述
...
event模塊
worker_connections 指定大可以同時(shí)接收的連接數(shù)量,這里一定要注意,大連接數(shù)量是和worker processes共同決定的。
multi_accept 配置指定nginx在收到一個(gè)新連接通知后盡可能多的接受更多的連接
use epoll 配置指定了線程輪詢的方法,如果是linux2.6+,使用epoll,如果是BSD如Mac請(qǐng)使用Kqueue
...
http模塊
作為web服務(wù)器,http模塊是nginx最核心的一個(gè)模塊,配置項(xiàng)也是比較多的,項(xiàng)目中會(huì)設(shè)置到很多的實(shí)際業(yè)務(wù)場(chǎng)景,需要根據(jù)硬件信息進(jìn)行適當(dāng)?shù)呐渲谩?/p>
1)基礎(chǔ)配置
sendfile?on:配置on讓sendfile發(fā)揮作用,將文件的回寫過程交給數(shù)據(jù)緩沖去去完成,而不是放在應(yīng)用中完成,這樣的話在性能提升有有好處 tcp_nopush?on:讓nginx在一個(gè)數(shù)據(jù)包中發(fā)送所有的頭文件,而不是一個(gè)一個(gè)單獨(dú)發(fā) tcp_nodelay?on:讓nginx不要緩存數(shù)據(jù),而是一段一段發(fā)送,如果數(shù)據(jù)的傳輸有實(shí)時(shí)性的要求的話可以配置它,發(fā)送完一小段數(shù)據(jù)就立刻能得到返回值,但是不要濫用哦 keepalive_timeout?10:給客戶端分配連接超時(shí)時(shí)間,服務(wù)器會(huì)在這個(gè)時(shí)間過后關(guān)閉連接。一般設(shè)置時(shí)間較短,可以讓nginx工作持續(xù)性更好 client_header_timeout?10:設(shè)置請(qǐng)求頭的超時(shí)時(shí)間 client_body_timeout?10:設(shè)置請(qǐng)求體的超時(shí)時(shí)間 send_timeout?10:指定客戶端響應(yīng)超時(shí)時(shí)間,如果客戶端兩次操作間隔超過這個(gè)時(shí)間,服務(wù)器就會(huì)關(guān)閉這個(gè)鏈接 limit_conn_zone?$binary_remote_addr?zone=addr:5m?:設(shè)置用于保存各種key的共享內(nèi)存的參數(shù), limit_conn?addr?100:?給定的key設(shè)置大連接數(shù) server_tokens:雖然不會(huì)讓nginx執(zhí)行速度更快,但是可以在錯(cuò)誤頁(yè)面關(guān)閉nginx版本提示,對(duì)于網(wǎng)站安全性的提升有好處哦 include?/etc/nginx/mime.types:指定在當(dāng)前文件中包含另一個(gè)文件的指令 default_type?application/octet-stream:指定默認(rèn)處理的文件類型可以是二進(jìn)制 type_hash_max_size?2048:混淆數(shù)據(jù),影響三列沖突率,值越大消耗內(nèi)存越多,散列key沖突率會(huì)降低,檢索速度更快;值越小key,占用內(nèi)存較少,沖突率越高,檢索速度變慢
2)日志配置
access_log?logs/access.log:設(shè)置存儲(chǔ)訪問記錄的日志 error_log?logs/error.log:設(shè)置存儲(chǔ)記錄錯(cuò)誤發(fā)生的日志
3)SSL證書配置
ssl_protocols:指令用于啟動(dòng)特定的加密協(xié)議,nginx在1.1.13和1.0.12版本后默認(rèn)是ssl_protocols?SSLv3?TLSv1?TLSv1.1?TLSv1.2,TLSv1.1與TLSv1.2要確保OpenSSL?>=?1.0.1?,SSLv3?現(xiàn)在還有很多地方在用但有不少被***的漏洞。 ssl?prefer?server?ciphers:設(shè)置協(xié)商加密算法時(shí),優(yōu)先使用我們服務(wù)端的加密套件,而不是客戶端瀏覽器的加密套件
4)壓縮配置
gzip?是告訴nginx采用gzip壓縮的形式發(fā)送數(shù)據(jù)。這將會(huì)減少我們發(fā)送的數(shù)據(jù)量。 gzip_disable?為指定的客戶端禁用gzip功能。我們?cè)O(shè)置成IE6或者更低版本以使我們的方案能夠廣泛兼容。 gzip_static?告訴nginx在壓縮資源之前,先查找是否有預(yù)先gzip處理過的資源。這要求你預(yù)先壓縮你的文件(在這個(gè)例子中被注釋掉了),從而允許你使用最高壓縮比,這樣nginx就不用再壓縮這些文件了(想要更詳盡的gzip_static的信息,請(qǐng)點(diǎn)擊這里)。 gzip_proxied?允許或者禁止壓縮基于請(qǐng)求和響應(yīng)的響應(yīng)流。我們?cè)O(shè)置為any,意味著將會(huì)壓縮所有的請(qǐng)求。 gzip_min_length?設(shè)置對(duì)數(shù)據(jù)啟用壓縮的最少字節(jié)數(shù)。如果一個(gè)請(qǐng)求小于1000字節(jié),我們最好不要壓縮它,因?yàn)閴嚎s這些小的數(shù)據(jù)會(huì)降低處理此請(qǐng)求的所有進(jìn)程的速度。 gzip_comp_level?設(shè)置數(shù)據(jù)的壓縮等級(jí)。這個(gè)等級(jí)可以是1-9之間的任意數(shù)值,9是最慢但是壓縮比大的。我們?cè)O(shè)置為4,這是一個(gè)比較折中的設(shè)置。 gzip_type?設(shè)置需要壓縮的數(shù)據(jù)格式。上面例子中已經(jīng)有一些了,你也可以再添加更多的格式。
5)文件緩存配置
open_file_cache?打開緩存的同時(shí)也指定了緩存大數(shù)目,以及緩存的時(shí)間。我們可以設(shè)置一個(gè)相對(duì)高的大時(shí)間,這樣我們可以在它們不活動(dòng)超過20秒后清除掉。 open_file_cache_valid?在open_file_cache中指定檢測(cè)正確信息的間隔時(shí)間。 open_file_cache_min_uses?定義了open_file_cache中指令參數(shù)不活動(dòng)時(shí)間期間里最小的文件數(shù)。 open_file_cache_errors?指定了當(dāng)搜索一個(gè)文件時(shí)是否緩存錯(cuò)誤信息,也包括再次給配置中添加文件。我們也包括了服務(wù)器模塊,這些是在不同文件中定義的。如果你的服務(wù)器模塊不在這些位置,你就得修改這一行來指定正確的位置。
sever模塊
srever模塊配置是http模塊中的一個(gè)子模塊,用來定義一個(gè)虛擬訪問主機(jī),也就是一個(gè)虛擬服務(wù)器的配置信息。
server?{ ?listen?80; ?server_name?localhost?192.168.1.100; ?charset?utf-8; ?access_log?logs/access.log; ?error_log?logs/error.log; ?...... }
server:一個(gè)虛擬主機(jī)的配置,一個(gè)http中可以配置多個(gè)server
server_name:用來指定ip地址或者域名,多個(gè)配置之間用空格分隔
charset:用于設(shè)置www/路徑中配置的網(wǎng)頁(yè)的默認(rèn)編碼格式
access_log:用于指定該虛擬主機(jī)服務(wù)器中的訪問記錄日志存放路徑
error_log:用于指定該虛擬主機(jī)服務(wù)器中訪問錯(cuò)誤日志的存放路徑
location模塊
location模塊是Nginx配置中出現(xiàn)最多的一個(gè)配置,主要用于配置路由訪問信息。
在路由訪問信息配置中關(guān)聯(lián)到反向代理、負(fù)載均衡等等各項(xiàng)功能,所以location模塊也是一個(gè)非常重要的配置模塊。
1)基本配置
location?/?{ ?root?/nginx/www; ?index?index.php?index.html?index.htm; }
location /:表示匹配訪問根目錄
root:用于指定訪問根目錄時(shí),訪問虛擬主機(jī)的web目錄
index:在不指定訪問具體資源時(shí),默認(rèn)展示的資源文件列表
2)反向代理配置
通過反向代理代理服務(wù)器訪問模式,通過proxy_set配置讓客戶端訪問透明化。
location?/?{ ?proxy_pass?http://localhost:8888; ?proxy_set_header?X-real-ip?$remote_addr; ?proxy_set_header?Host?$http_host; }
3)uwsgi配置
location?/?{ ?include?uwsgi_params; ?uwsgi_pass?localhost:8888; }
負(fù)載均衡模塊(upstream)
upstream模塊主要負(fù)責(zé)負(fù)載均衡的配置,通過默認(rèn)的輪詢調(diào)度方式來分發(fā)請(qǐng)求到后端服務(wù)器。簡(jiǎn)單的配置方式如下。
upstream?name?{ ?ip_hash; ?server?192.168.1.100:8000?weight=9; ?server?192.168.1.100:8001?down; ?server?192.168.1.100:8002?max_fails=3; ?server?192.168.1.100:8003?fail_timeout=20s; ?server?192.168.1.100:8004?max_fails=3?fail_timeout=20s; }
ip_hash:指定請(qǐng)求調(diào)度算法,默認(rèn)是weight權(quán)重輪詢調(diào)度,可以指定
server host:port:分發(fā)服務(wù)器的列表配置
-- down:表示該主機(jī)暫停服務(wù)
-- max_fails:表示失敗大次數(shù),超過失敗大次數(shù)暫停服務(wù)
-- fail_timeout:表示如果請(qǐng)求受理失敗,暫停指定的時(shí)間之后重新發(fā)起請(qǐng)求
靜態(tài)Http服務(wù)器配置
首先,Nginx是一個(gè)HTTP服務(wù)器,可以將服務(wù)器上的靜態(tài)文件(如HTML、圖片)通過HTTP協(xié)議展現(xiàn)給客戶端。
配置:
server?{ ?listen?80;? #?端口 ?server_name?localhost?192.168.1.100;? #?域名? ?location?/?{ #?代表這是項(xiàng)目根目錄 ?root?/usr/share/nginx/www;? ?#?虛擬目錄 ?} }
反向代理服務(wù)器配置
什么是反向代理?
客戶端本來可以直接通過HTTP協(xié)議訪問某網(wǎng)站應(yīng)用服務(wù)器,如果網(wǎng)站管理員在中間加上一個(gè)Nginx,客戶端請(qǐng)求Nginx,Nginx請(qǐng)求應(yīng)用服務(wù)器,然后將結(jié)果返回給客戶端,此時(shí)Nginx就是反向代理服務(wù)器。
反向代理配置:
server?{ ?listen?80; ?location?/?{ ?proxy_pass?http://192.168.0.112:8080;? #?應(yīng)用服務(wù)器HTTP地址 ?} }
既然服務(wù)器可以直接HTTP訪問,為什么要在中間加上一個(gè)反向代理,不是多此一舉嗎?反向代理有什么作用?繼續(xù)往下看,下面的負(fù)載均衡、虛擬主機(jī),都基于反向代理實(shí)現(xiàn),當(dāng)然反向代理的功能也不僅僅是這些。
負(fù)載均衡配置
當(dāng)網(wǎng)站訪問量非常大,也攤上事兒了。因?yàn)榫W(wǎng)站越來越慢,一臺(tái)服務(wù)器已經(jīng)不夠用了。于是將相同的應(yīng)用部署在多臺(tái)服務(wù)器上,將大量用戶的請(qǐng)求分配給多臺(tái)機(jī)器處理。同時(shí)帶來的好處是,其中一臺(tái)服務(wù)器萬一掛了,只要還有其他服務(wù)器正常運(yùn)行,就不會(huì)影響用戶使用。Nginx可以通過反向代理來實(shí)現(xiàn)負(fù)載均衡。
負(fù)載均衡配置:
upstream?myapp?{ ?ip_hash; #?固定訪客 ?server?192.168.0.111:8080?weight=9;? #?應(yīng)用服務(wù)器1 ?server?192.168.0.112:8080?weight=1;? #?應(yīng)用服務(wù)器2 }
虛擬主機(jī)配置
有的網(wǎng)站訪問量大,需要負(fù)載均衡。然而并不是所有網(wǎng)站都如此出色,有的網(wǎng)站,由于訪問量太小,需要節(jié)省成本,將多個(gè)網(wǎng)站部署在同一臺(tái)服務(wù)器上。
例如將www.aaa.com和www.bbb.com兩個(gè)網(wǎng)站部署在同一臺(tái)服務(wù)器上,兩個(gè)域名解析到同一個(gè)IP地址,但是用戶通過兩個(gè)域名卻可以打開兩個(gè)完全不同的網(wǎng)站,互相不影響,就像訪問兩個(gè)服務(wù)器一樣,所以叫兩個(gè)虛擬主機(jī)。
虛擬主機(jī)配置:
server?{ ?listen?80?default_server; ?server_name?_; ?return?444;? #?過濾其他域名的請(qǐng)求,返回444狀態(tài)碼 } server?{ ?listen?80; ?server_name?www.aaa.com;? #?www.aaa.com域名 ?location?/?{ ?proxy_pass?http://localhost:8080;? #?對(duì)應(yīng)端口號(hào)8080 ?} } server?{ ?listen?80; ?server_name?www.bbb.com;? #?www.bbb.com域名 ?location?/?{ ?proxy_pass?http://localhost:8081;? #?對(duì)應(yīng)端口號(hào)8081 ?} }
在服務(wù)器8080和8081分別開了一個(gè)應(yīng)用,客戶端通過不同的域名訪問,根據(jù)server_name可以反向代理到對(duì)應(yīng)的應(yīng)用服務(wù)器。
虛擬主機(jī)的原理是通過HTTP請(qǐng)求頭中的Host是否匹配server_name來實(shí)現(xiàn)的,有興趣的同學(xué)可以研究一下HTTP協(xié)議。
另外,server_name配置還可以過濾有人惡意將某些域名指向你的主機(jī)服務(wù)器。
CentOS7系統(tǒng)服務(wù)腳本目錄
用戶(user):用戶登錄后才能運(yùn)行的程序,存在用戶(user)。
/usr/lib/systemd/user
系統(tǒng)(system):如需要開機(jī)沒有登陸情況下就能運(yùn)行的程序,存在系統(tǒng)服務(wù)(system)里。
/usr/lib/systemd/system
編寫service腳本
服務(wù)文件名以.service結(jié)尾:
vim?/usr/lib/systemd/system/nginx.service
編寫腳本內(nèi)容(固定格式):
[Unit] Description=nginx After=network.target ? [Service] Type=forking PIDFile=/usr/install/nginx/logs/nginx.pid ExecStart=/usr/install/nginx/sbin/nginx ExecReload=/usr/install/nginx/sbin/nginx?-s?reload ExecStop=/usr/install/nginx/sbin/nginx?-s?stop PrivateTmp=true ? [Install] WantedBy=multi-user.target
以上路徑必須均為絕對(duì)路徑!!而ExecStart、ExecReload、ExecStop的值也可以是"/etc/init.d"下的自定義的sh腳本文件的絕對(duì)路徑,我就是采用這種方式來實(shí)現(xiàn)?uWSGI?開機(jī)啟動(dòng)的:
/etc/init.d目錄下新建uWSGI服務(wù)啟動(dòng)腳本文件"uwsgi-start.sh": #!/bin/sh /pyvenv/bin/uwsgi?--ini?/pyvenv/src/eduonline/uwsgi.ini;
/etc/init.d目錄下新建uWSGI服務(wù)重啟腳本文件"uwsgi-restart.sh": #!/bin/sh /pyvenv/bin/uwsgi?--restart?/pyvenv/src/eduonline/uwsgi.pid;
/etc/init.d目錄下新建uWSGI服務(wù)停止腳本文件"uwsgi-stop.sh": #!/bin/sh /pyvenv/bin/uwsgi?--stop?/pyvenv/src/eduonline/uwsgi.pid;
注意:sh腳本中同樣采用絕對(duì)路徑!!保存后,賦予可讀可執(zhí)行權(quán)限。然后編寫service腳本文件。
設(shè)置開機(jī)啟動(dòng)(強(qiáng)大的CentOS服務(wù)管理工具systemctl)
systemctl?enable?nginx.service?#".service"可省略 #?附其他命令: systemctl?start?nginx.service?#?啟動(dòng) systemctl?restart?nginx.service?#?重啟,服務(wù)會(huì)中止一會(huì)兒 systemctl?reload?nginx.service ?#?重載服務(wù)配置文件,類似于重啟,但服務(wù)不會(huì)中止 systemctl?stop?nginx.service?#?停止 systemctl?disable?nginx.service?#?關(guān)閉開機(jī)啟動(dòng)
如果提示"Failed to execute operation: Access denied",輸入"systemctl daemon-reexec"可解決。
首先,在Linux系統(tǒng)的"/etc/init.d/"目錄下創(chuàng)建nginx腳本文件,使用如下命令:
touch?nginx?#?創(chuàng)建 vim?nginx?#?編輯
在腳本中添加如下命令:
#!/bin/sh # #?nginx?-?this?script?starts?and?stops?the?nginx?daemon # #?chkconfig:?-?85?15 #?description:?NGINX?is?an?HTTP(S)?server,?HTTP(S)?reverse?\ #?proxy?and?IMAP/POP3?proxy?server #?processname:?nginx #?config:?/etc/nginx/nginx.conf #?config:?/etc/sysconfig/nginx #?pidfile:?/var/run/nginx.pid #?Source?function?library. .?/etc/rc.d/init.d/functions #?Source?networking?configuration. .?/etc/sysconfig/network #?Check?that?networking?is?up. [?"$NETWORKING"?=?"no"?]?&&?exit?0 nginx="/usr/sbin/nginx"?#?修改可執(zhí)行文件路徑 prog=$(basename?$nginx) NGINX_CONF_FILE="/etc/nginx/nginx.conf"?#?修改配置文件路徑 [?-f?/etc/sysconfig/nginx?]?&&?.?/etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx make_dirs()?{ ?#?make?required?directories ?user=`$nginx?-V?2>&1?|?grep?"configure?arguments:.*--user="?|?sed?'s/[^*]*--user=\([^?]*\).*/\1/g'?-` ?if?[?-n?"$user"?];?then ?if?[?-z?"`grep?$user?/etc/passwd`"?];?then ?useradd?-M?-s?/bin/nologin?$user ?fi ?options=`$nginx?-V?2>&1?|?grep?'configure?arguments:'` ?for?opt?in?$options;?do ?if?[?`echo?$opt?|?grep?'.*-temp-path'`?];?then ?value=`echo?$opt?|?cut?-d?"="?-f?2` ?if?[?!?-d?"$value"?];?then ?#?echo?"creating"?$value ?mkdir?-p?$value?&&?chown?-R?$user?$value ?fi ?fi ?done ?fi } start()?{ ?[?-x?$nginx?]?||?exit?5 ?[?-f?$NGINX_CONF_FILE?]?||?exit?6 ?make_dirs ?echo?-n?$"Starting?$prog:?" ?daemon?$nginx?-c?$NGINX_CONF_FILE ?retval=$? ?echo ?[?$retval?-eq?0?]?&&?touch?$lockfile ?return?$retval } stop()?{ ?echo?-n?$"Stopping?$prog:?" ?killproc?$prog?-QUIT ?retval=$? ?echo ?[?$retval?-eq?0?]?&&?rm?-f?$lockfile ?return?$retval } restart()?{ ?configtest?||?return?$? ?stop ?sleep?1 ?start } reload()?{ ?configtest?||?return?$? ?echo?-n?$"Reloading?$prog:?" ?killproc?$nginx?-HUP ?RETVAL=$? ?echo } force_reload()?{ ?restart } configtest()?{ ?$nginx?-t?-c?$NGINX_CONF_FILE } rh_status()?{ ?status?$prog } rh_status_q()?{ ?rh_status?>/dev/null?2>&1 } case?"$1"?in ?start) ?rh_status_q?&&?exit?0 ?$1 ?;; ?stop) ?rh_status_q?||?exit?0 ?$1 ?;; ?restart|configtest) ?$1 ?;; ?reload) ?rh_status_q?||?exit?7 ?$1 ?;; ?force-reload) ?force_reload ?;; ?status) ?rh_status ?;; ?condrestart|try-restart) ?rh_status_q?||?exit?0 ?;; ?*) ?echo?$"Usage:?$0?{start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" ?exit?2 esac
保存腳本文件后對(duì)所有用戶追加可執(zhí)行權(quán)限:
chmod?a+x?/etc/init.d/nginx
先將nginx服務(wù)加入chkconfig管理列表:
chkconfig?--add?/etc/init.d/nginx
設(shè)置終端模式開機(jī)啟動(dòng):
chkconfig?nginx?on
讀者福利
加微信:haolagui521備注51CTO領(lǐng)取附送學(xué)習(xí)進(jìn)階架構(gòu)資料、PDF書籍文檔、面試資料
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
文章名稱:Nginx安裝與部署配置以及Nginx和uWSGI開機(jī)自啟-創(chuàng)新互聯(lián)
URL分享:http://www.chinadenli.net/article34/dcsese.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、網(wǎng)站收錄、品牌網(wǎng)站設(shè)計(jì)、響應(yīng)式網(wǎng)站、網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容