linux安裝nginx
gcc安裝
安裝 nginx 需要先將官網(wǎng)下載的源碼進(jìn)行編譯,編譯依賴 gcc 環(huán)境泽西,如果沒有 gcc 環(huán)境九串,則需要安裝:
yum install gcc-c++
pcre pcre-devel 安裝
PCRE(Perl Compatible Regular Expressions) 是一個(gè)Perl庫囤官,包括 perl 兼容的正則表達(dá)式庫。nginx 的 http 模塊使用 pcre 來解析正則表達(dá)式颤霎,所以需要在 linux 上安裝 pcre 庫媳谁,pcre-devel 是使用 pcre 開發(fā)的一個(gè)二次開發(fā)庫。nginx也需要此庫友酱。命令:
yum install -y pcre pcre-devel
zlib 安裝
zlib 庫提供了很多種壓縮和解壓縮的方式晴音, nginx 使用 zlib 對(duì) http 包的內(nèi)容進(jìn)行 gzip ,所以需要在 Centos 上安裝 zlib 庫缔杉。
yum install -y zlib zlib-devel
OpenSSL 安裝
OpenSSL 是一個(gè)強(qiáng)大的安全套接字層密碼庫锤躁,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及 SSL 協(xié)議壮吩,并提供豐富的應(yīng)用程序供測試或其它目的使用进苍。
nginx 不僅支持 http 協(xié)議,還支持 https(即在ssl協(xié)議上傳輸http)鸭叙,所以需要在 Centos 安裝 OpenSSL 庫觉啊。
yum install -y openssl openssl-devel
下載安裝包
直接下載.tar.gz安裝包,地址:https://nginx.org/en/download.html
使用wget命令下載(推薦)沈贝。
wget -c [https://nginx.org/download/nginx-1.10.1.tar.gz](https://nginx.org/download/nginx-1.10.1.tar.gz)
解壓
依然是直接命令:
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
配置
使用默認(rèn)配置
./configure
編譯安裝
make
make install
查找安裝路徑
whereis nginx
啟動(dòng)杠人、停止nginx
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -s quit:此方式停止步驟是待nginx進(jìn)程處理任務(wù)完畢進(jìn)行停止。
./nginx -s stop:此方式相當(dāng)于先查出nginx進(jìn)程id再使用kill命令強(qiáng)制殺掉進(jìn)程宋下。
查詢nginx進(jìn)程
ps aux|grep nginx
重啟 nginx
先停止再啟動(dòng)(推薦):
對(duì) nginx 進(jìn)行重啟相當(dāng)于先停止再啟動(dòng)嗡善,即先執(zhí)行停止命令再執(zhí)行啟動(dòng)命令。如下:
./nginx -s quit
./nginx
重新加載配置文件:
當(dāng) ngin x的配置文件 nginx.conf 修改后学歧,要想讓配置生效需要重啟 nginx罩引,使用-s reload不用先停止 ngin x再啟動(dòng) nginx 即可將配置信息在 nginx 中生效,如下:
./nginx -s reload
開機(jī)自啟動(dòng)
即在rc.local增加啟動(dòng)代碼就可以了枝笨。
vi /etc/rc.local
增加一行 /usr/local/nginx/sbin/nginx
設(shè)置執(zhí)行權(quán)限:
chmod 755 rc.local
nginx就安裝完畢了袁铐,啟動(dòng)、停止横浑、重啟操作也都完成了剔桨,當(dāng)然,你也可以添加為系統(tǒng)服務(wù)徙融,我這里就不在演示了洒缀。
日志分割
編寫自動(dòng)分割Nginx日志腳本
#!/bin/bash
#Rotate the Nginx logs to prevent a single logfile from consuming too much disk space.
LOS_PATH=/usr/local/nginx/logs
YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)
mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log
mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log
## 向 Nginx 主進(jìn)程發(fā)送 USR1 信號(hào)。USR1 信號(hào)是重新打開日志文件
kill -USR1 $(cat /usr/local/nginx/logs/nginx.pid)
:wq保存,并命名為nginxLogRotate.sh树绩,保存到目錄/usr/local/nginx/logs
設(shè)置Linux定時(shí)任務(wù)
vi /etc/crontab
在打開的文件底部添加如下內(nèi)容
0 0 * * * root /usr/local/nginx/logs/nginxLogRotate.sh
:wq保存萨脑,表示配置一個(gè)定時(shí)任務(wù),定時(shí)每天00:00以root身份執(zhí)行腳本/usr/local/nginx/logs/nginxLogRotate.sh葱峡,實(shí)現(xiàn)定時(shí)自動(dòng)分割Nginx日志(包括訪問日志和錯(cuò)誤日志)
至此砚哗,就實(shí)現(xiàn)了自動(dòng)分割Nginx日志龙助,Nginx每天都會(huì)生成一個(gè)新的日志文件砰奕。
Nginx啟動(dòng)腳本
vi /etc/init.d/nginx
chkconfig nginx on