centos 7 編譯安裝nginx 及添加 nginx 到系統服務


一、安裝准備

首先由於nginx的一些模塊依賴一些lib庫,所以在安裝nginx之前,必須先安裝這些lib庫,這些依賴庫主要有g++、gcc、openssl-devel、pcre-devel和zlib-devel 所以執行如下命令安裝

$   yum install gcc-c++  
$   yum install pcre pcre-devel  
$   yum install zlib zlib-devel  
$   yum install openssl openssl--devel  

二、安裝Nginx

安裝之前,最好檢查一下是否已經安裝有nginx

$   find -name nginx  

如果系統已經安裝了nginx,那么就先卸載

$   yum remove nginx  

首先進入/usr/local目錄

$   cd /usr/local  

從官網下載最新版的nginx

$   wget http://nginx.org/download/nginx-1.7.4.tar.gz  

解壓nginx壓縮包

$   tar -zxvf nginx-1.7.4.tar.gz  

會產生一個nginx-1.7.4 目錄,這時進入nginx-1.7.4目錄

$   cd  nginx-1.7.4  

接下來安裝,使用--prefix參數指定nginx安裝的目錄,make、make install安裝

$   ./configure  $默認安裝在/usr/local/nginx   
$   make  
$   make install 

如果沒有報錯,順利完成后,最好看一下nginx的安裝目錄

$   whereis nginx 

安裝完畢后,進入安裝后目錄(/usr/local/nginx)便可以啟動或停止它了。

Nginx常用命令

//測試配置文件
安裝路徑下的/nginx/sbin/nginx -t

//查看進程命令
ps -ef | grep nginx

//啟動命令
安裝路徑下的/nginx/sbin/nginx
//停止命令
安裝路徑下的/nginx/sbin/nginx -s stop
或者 : nginx -s quit
//重啟命令
安裝路徑下的/nginx/sbin/nginx -s reload

配置防火牆
//打開防火牆文件
sudo vim /etc/sysconfig/iptables
//新增行  開放80端口
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
//保存退出
//重啟防火牆
sudo service iptables restart

 

   Nginx虛擬域名配置及測試驗證

//編輯nginx.conf
sudo vim /usr/local/nginx/conf/nginx.conf
//增加行 
include vhost/*.conf
//保存退出
//在/usr/local/nginx/conf目錄新建vhost文件夾
mkdir vhost
//創建每個域名的配置
sudo vim jimisun.com.conf
//節點中增加入響應的配置 端口轉發 或者訪問文件系統

 

 

三、添加Nginx到系統服務

創建nginx啟動命令腳本

vi /etc/init.d/nginx

插入以下內容, 注意修改PATH和NAME字段, 匹配自己的安裝路徑 

#! /bin/bash
# chkconfig: - 85 15
PATH=/usr/local/nginx
DESC="nginx daemon"
NAME=nginx
DAEMON=$PATH/sbin/$NAME
CONFIGFILE=$PATH/conf/$NAME.conf
PIDFILE=$PATH/logs/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
set -e
[ -x "$DAEMON" ] || exit 0
do_start() {
$DAEMON -c $CONFIGFILE || echo -n "nginx already running"
}
do_stop() {
$DAEMON -s stop || echo -n "nginx not running"
}
do_reload() {
$DAEMON -s reload || echo -n "nginx can't reload"
}
case "$1" in
start)
echo -n "Starting $DESC: $NAME"
do_start
echo "."
;;
stop)
echo -n "Stopping $DESC: $NAME"
do_stop
echo "."
;;
reload|graceful)
echo -n "Reloading $DESC configuration..."
do_reload
echo "."
;;
restart)
echo -n "Restarting $DESC: $NAME"
do_stop
do_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|reload|restart}" >&2
exit 3
;;
esac
exit 0

設置執行權限

chmod a+x /etc/init.d/nginx

注冊成服務

chkconfig --add nginx

設置開機啟動

chkconfig nginx on

重啟, 查看nginx服務是否自動啟動

shutdown -h 0 -r
netstat -apn|grep nginx

對nginx服務執行停止/啟動/重新讀取配置文件操作

#啟動nginx服務
systemctl start nginx.service
#停止nginx服務
systemctl stop nginx.service
#重啟nginx服務
systemctl restart nginx.service
#重新讀取nginx配置(這個最常用, 不用停止nginx服務就能使修改的配置生效)
systemctl reload nginx.service

 

 

以上分別轉載自  http://www.jb51.net/article/106323.htm  及  http://www.cnblogs.com/lxg0/p/6979274.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM