中間件部署流程
~高級權限賬戶安裝必要的插件 -> 普通權限賬戶安裝所需要的服務 -> 高級權限賬戶開啟并設置開機自啟所安裝的服務 -> iptables放行所需要的服務
普通權限賬戶安裝NGINX中間件
1、擁有高級權限的賬戶安裝必要的插件
sudo yum install -y gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel?
2、普通賬戶進行NGINX的腳本式安裝
vi nginx_intall.sh
#!/bin/bash
TAR_NAME="$1"
TAR_NAME_DIR=`basename nginx-1.26.2.tar.gz | awk -F '.tar.gz' '{print $1}'`
RE_TAR_NAME_DIR=`basename nginx-1.26.2.tar.gz | awk -F '.tar.gz' '{print $1}' | awk -F '-' '{print $1}'`
USER="$2"
chown -R ${USER}:${USER} ${TAR_NAME} && tar -zxvf ?${TAR_NAME} && mv ${TAR_NAME_DIR} ${RE_TAR_NAME_DIR} && cd ${RE_TAR_NAME_DIR} && mkdir ?-p ? ?/home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR} && mkdir ?-p /home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/logs && mkdir ?-p /home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/run && cd /home/${USER}/${RE_TAR_NAME_DIR} && ./configure --prefix=/home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR} --error-log-path=/home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/logs/error.log --http-log-path=/home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/logs/access.log --pid-path=/home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/run/${RE_TAR_NAME_DIR}.pid --sbin-path=/home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/sbin/${RE_TAR_NAME_DIR} --conf-path=/home/${USER}/${RE_TAR_NAME_DIR}/${RE_TAR_NAME_DIR}/conf/${RE_TAR_NAME_DIR}.conf --with-http_stub_status_module --with-http_ssl_module --with-http_ssl_module --with-http_v2_module --with-http_gzip_static_module --with-pcre --user=${USER} && make -j$(nproc) && make install?
chmod +x?nginx_intall.sh
sh nginx_intall.sh [NGINX_TAR_NAME] [USER] #[NGINX_TAR_NAME]為NGINX的包名最好用雙引號括起來,[USER]為當前的普通賬戶賬戶
3(1)、切換擁有高級賬戶啟動NGINX服務并創建名為NGINX文件夾的軟鏈接
sudo /home/普通賬戶/nginx/nginx/sbin/nginx -c /home/普通賬戶/nginx/nginx/conf/nginx.conf
sudo ln -s?/home/普通賬戶/nginx/nginx/?/home/普通賬戶/NGINX/
3(2)、設置開機自啟
高級權限用戶
vi /etc/systemd/system/nginx.service
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target
[Service]
Type=forking
PIDFile=/home/普通賬戶/nginx/nginx/run/nginx.pid
ExecStartPre=-/home/普通賬戶/nginx/nginx/sbin/nginx -t
ExecStart=/bin/sudo /home/普通賬戶/nginx/nginx/sbin/nginx -c /home/普通賬戶/nginx/nginx/conf/nginx.conf
User=高級權限用戶
Group=高級權限用戶
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
sudo chown 普通賬戶:普通賬戶 /etc/systemd/system/nginx.service
sudo systemctl start nginx && sudo systemctl enable nginx && sudo systemctl status nginx
sudo iptables -I INPUT -p tcp -s 源IP地址或者源IP網段?--dport 80 -j ACCEPT && sudo iptables-save
?