nginx伺服器的安裝與配置
1.首先下載nginx:
wget http://nginx.org/download/nginx-1.7.3.tar.gz
2.解壓編譯原始碼安裝
nginx的url rewrite模組需要 PCRE 開發包,先安裝它
yum install pcre-devel.x86_64
安裝編譯nginx:
tar zxvf nginx-1.7.3.tar.gz
cd nginx-1.7.3
./configure
make
sudo make install
如果按照以上命令,Nninx將被預設安裝到/usr/local/ngnix目錄下,可以通過./configure --help 命令檢視nginx可選擇的編譯選項:
--prefix=<path> nginx安裝路徑。 預設為 /usr/local/nginx.
--sbin-path=<path> nginx可執行檔案安裝路徑。只能安裝時指定, 預設為<prefix>/sbin/nginx.
--conf-path=<path> 在沒有給定-c選項下預設的nginx.conf的路徑。 預設為<prefix>/conf/nginx.conf.
--pid-path=<path> 在nginx.conf中沒有指定pid指令的情況下,預設的nginx.pid的路徑 .預設為<prefix>/logs/nginx.pid.
--lock-path=<path> nginx.lock檔案的路情況下路徑。
--error-log-path=<path> 在nginx.conf中沒有指定error_log指定的情況下,預設的錯誤日誌的路徑。 預設為<prefix>/logs/error.log.
--http-log-path=<path> 在nginx.conf中沒有指定的assess_log指令的情況下,預設的訪問日誌的路徑。 預設為<prefix>/logs/access.log.
--user=<user> 在nginx.conf中沒有指定user指定的情況下,預設的nginx使用的使用者 nobody.
--group=<group> 在nginx.conf中沒有指定user指定的情況下,預設的nginx使用的組 nobody.
示例:
./configure
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/usr/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/var/run/nginx/nginx.pid \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module\
--with-http_gzip_static_module\
--http-log-path=/var/log/nginx/access.log \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/
裝完nginx後,啟動nginx,可以執行以下命令。預設nginx安裝在/usr/local/nginx/目錄中,那麼啟動nginx的命令就是:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
引數-c指定了配置檔案的路徑,如果不加-c引數,Nginx會預設載入其安裝目錄的conf子目錄中的nginx.conf檔案,預設情況下就是:
/usr/local/nginx/conf/nginx.conf
nginx的停止
nginx的停止方法有很多種,一般是通過傳送系統訊號給nginx主程序的方式來停止nginx.
我們可以通過ps命令來查詢nginx主程序號:
ps -ef | grep nginx
1>從容停止nginx
kill -QUIT Nginx主程序號
或者
kill - QUIT <prefix>/logs/nginx.pid.
2>快速停止
kill - TERM 主程序號
或
kill - TERM <prefix>/logs/nginx.pid
或
kill - INT 主程序號
kill - INT <prefix>/logs/nginx.pid
3>強制停止所有nginx程序
pkill -9 nginx
可以通過以下命令判斷nginx檔案配置是否正確:
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
如查顯示:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
正確。
平滑重啟:
kill -HUP 主程序號
或
kill - HUP <prefix>/logs/nginx.pid.