溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

shell腳本多實(shí)例怎么部署nginx

發(fā)布時(shí)間:2021-10-26 09:11:07 來源:億速云 閱讀:150 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“shell腳本多實(shí)例怎么部署nginx”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“shell腳本多實(shí)例怎么部署nginx”吧!

1. 創(chuàng)建一個(gè)目錄,用來存放腳本和安裝包

[root@localhost nginx]# tree
.
├── install.sh
└── packages
    └── nginx-1.20.1.tar.gz

1 directory, 2 files
[root@localhost nginx]#

2. 下載好對(duì)應(yīng)的安裝包

[root@localhost packages]# wget https://nginx.org/download/nginx-1.20.1.tar.gz
[root@localhost packages]# ls
nginx-1.20.1.tar.gz
[root@localhost packages]#

3. 編寫腳本

[root@localhost nginx]# cat install.sh 
#!/bin/bash

log_dir=/var/log
install_dir=/usr/local

id nginx &>/dev/null
if [ $? -ne 0 ];then
 useradd -r -M -s /sbin/nologin nginx
fi

yum -y install pcre-devel pcre gcc gcc-c++ openssl-devel zlib zlib-devel make vim wget openssl openssl-devel gd-devel

if [ ! -d $log_dir/nginx ];then
    mkdir -p $log_dir/nginx
    chown -R nginx.nginx $log_dir/nginx
fi


if [ ! -d $install_dir/nginx-1.20.1 ];then
    tar xf packages/nginx-1.20.1.tar.gz -C $install_dir
fi

cd $install_dir/nginx-1.20.1
if [ ! -d $install_dir/nginx ];then
    ./configure --prefix=$install_dir/nginx \
        --user=nginx \
        --group=nginx \
        --with-debug \
        --with-http_ssl_module \
        --with-http_realip_module \
        --with-http_image_filter_module \
        --with-http_gunzip_module \
        --with-http_gzip_static_module \
        --with-http_stub_status_module \
        --http-log-path=/var/log/nginx/access.log \
        --error-log-path=/var/log/nginx/error.log
    make && make install
fi

echo "export PATH=$install_dir/nginx/sbin:$PATH" > /etc/profile.d/nginx.sh

cat > /usr/lib/systemd/system/nginx.service <<EOF
[Unit]
Description=Nginx server daemon
After=network.target 

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx 
ExecStop=/usr/local/nginx/sbin/nginx -s quit
ExecReload=/bin/kill -HUP \$MAINPID

[Install]
WantedBy=multi-user.target
EOF

systemctl daemon-reload
systemctl enable --now nginx.service


[root@localhost nginx]#

4. 驗(yàn)證效果

[root@localhost nginx]# bash -x install.sh 
+ log_dir=/var/log
+ install_dir=/usr/local
+ id nginx
+ '[' 0 -ne 0 ']'
+ yum -y install pcre-devel pcre gcc gcc-c++ openssl-devel zlib zlib-devel make vim wget openssl openssl-devel gd-devel
Updating Subscription Management repositories.
Unable to read consumer identity
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
上次元數(shù)據(jù)過期檢查:1:03:20 前,執(zhí)行于 2021年10月24日 星期日 20時(shí)57分26秒。
軟件包 pcre-devel-8.42-4.el8.x86_64 已安裝。
軟件包 pcre-8.42-4.el8.x86_64 已安裝。
軟件包 gcc-8.4.1-1.el8.x86_64 已安裝。
軟件包 gcc-c++-8.4.1-1.el8.x86_64 已安裝。
軟件包 openssl-devel-1:1.1.1g-15.el8_3.x86_64 已安裝。
軟件包 zlib-1.2.11-17.el8.x86_64 已安裝。
軟件包 zlib-devel-1.2.11-17.el8.x86_64 已安裝。
軟件包 make-1:4.2.1-10.el8.x86_64 已安裝。
軟件包 vim-enhanced-2:8.0.1763-15.el8.x86_64 已安裝。
軟件包 wget-1.19.5-10.el8.x86_64 已安裝。
軟件包 openssl-1:1.1.1g-15.el8_3.x86_64 已安裝。
軟件包 gd-devel-2.2.5-7.el8.x86_64 已安裝。
依賴關(guān)系解決。
無需任何處理。
完畢!
+ '[' '!' -d /var/log/nginx ']'
+ '[' '!' -d /usr/local/nginx-1.20.1 ']'
+ cd /usr/local/nginx-1.20.1
+ '[' '!' -d /usr/local/nginx ']'
+ echo 'export PATH=/usr/local/nginx/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin'
+ cat
+ systemctl daemon-reload
+ systemctl enable --now nginx.service
[root@localhost nginx]# 
[root@localhost nginx]# ss -antl
State            Recv-Q           Send-Q                     Local Address:Port                       Peer Address:Port           
LISTEN           0                128                              0.0.0.0:80                              0.0.0.0:*              
LISTEN           0                128                              0.0.0.0:22                              0.0.0.0:*              
LISTEN           0                128                                 [::]:22                                 [::]:*              
[root@localhost nginx]#

感謝各位的閱讀,以上就是“shell腳本多實(shí)例怎么部署nginx”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)shell腳本多實(shí)例怎么部署nginx這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI