這里提供的算是一個操作手冊益缠,只有操作步驟,如果想了解更多基公,還是應該查詢官方手冊
雖然yum安裝可以很方便的提供一個可用的nginx幅慌,但是出于后期維護的方便,nginx建議還是進行編譯安裝轰豆。特別是胰伍,對nginx功能配置要求比較多的環(huán)境下,yum安裝版本增加模塊酸休、修改源碼方面很尷尬骂租。
1. 介質(zhì)準備
a. nginx-1.13.8.tar.gz nginx主介質(zhì)
b. zlib-1.2.11.tar.gz gzip模塊需要使用zlib庫
c. pcre-8.41.tar.gz rewrite 模塊需要 pcre 庫
d. openssl-1.1.0g.tar.gz | openssl-fips-2.0.16.tar.gz (https模塊需要使用ssl庫)
e. 基礎環(huán)境準備:需要先安裝gcc的一些庫,建議使用yum安裝:
yum install -y gcc gcc-c++
2. 安裝步驟
2.1 編譯安裝openssl
tar -zxvf openssl-1.1.0g.tar.gz
cd openssl-1.1.0g
./configure
make && make install
cd ..
tar -zxvf openssl-fips-2.0.16
cd openssl-fips-2.0.16
./config
make && make install
openssl編譯安裝有時候會報莫名其妙的錯誤斑司,很煩躁渗饮,如果發(fā)生了,就yum安裝吧:
yum install -y openssl openssl-fips
2.2 編譯安裝zlib
tar -zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
./configure
make && make install
2.3 編譯安裝pcre
tar -zxvf pcre-8.41.tar.gz
cd pcre-8.41
./configure
make && make install
2.4 編譯安裝nginx
tar -zxvf nginx-1.13.8.tar.gz
cd nginx-1.13.8
./configure --with-pcre=../pcre-8.41 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-fips-2.0.16 --with-http_ssl_module --with-http_v2_module
make && make install
如果openssl是yum安裝的宿刮,在參數(shù)在取消掉
另互站,版本不重要。
3. 相關(guān)配置修改
3.1 把nginx命令加入到全局變量中
采用這個流程安裝的nginx僵缺,其安裝目錄位于/usr/local/nginx/ 下胡桃,執(zhí)行
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/
即可將nginx命令加入全局變量。現(xiàn)在執(zhí)行
nginx
如果沒有報錯谤饭,即表示nginx安裝成功了标捺。
3.2 添加nginx為系統(tǒng)服務
vi /etc/init.d/nginx
添加如下內(nèi)容
######################################################
#! /bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
DESC="nginx daemon"
NAME=nginx
DAEMON=/usr/local/nginx/sbin/$NAME
CONFIGFILE=/usr/local/nginx/conf/$NAME.conf
PIDFILE=/usr/local/nginx/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() {
kill -INT `cat $PIDFILE` || echo -n "nginx not running"
}
do_reload() {
kill -HUP `cat $PIDFILE` || 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
#######################################
設置文件的訪問權(quán)限:
chmod a+x /etc/init.d/nginx
(a+x參數(shù)表示 ==> all user can execute 所有用戶可執(zhí)行)懊纳,即可通過
service nginx start(stop/reload)進行nginx的相關(guān)操作
3.3 nginx服務隨系統(tǒng)啟動
vi /etc/rc.local
添加
/etc/init.d/nginx start
保存并退出揉抵,下次重啟就會生效,實現(xiàn)nginx的自啟動