中间件部署流程
~高级权限账户安装必要的插件 -> 普通权限账户安装所需要的服务 -> 高级权限账户开启并设置开机自启所安装的服务 -> 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