链接来自:https://www.cnblogs.com/cherishthepresent/p/17107485.html
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器, 在企业生产环境中常常使用yum或编译安装Nginx。
以下脚本来自粉丝分享,可完成Nginx的全自动编译安装,安装完成后自动启动并设置开机自启。脚本支持CentOS系列发行版本,shell脚本源码如下:
ck_ok()
{
if [ $? -ne 0 ]
then echo "$1 error." exit 1
fi}download_ng()
{
cd /usr/local/src
if [ -f nginx-1.23.0.tar.gz ]
then echo "当前目录已经存在nginx-1.23.0.tar.gz" echo "检测md5" ng_md5=`md5sum nginx-1.23.0.tar.gz|awk '{print $1}'`
if [ ${ng_md5} == 'e8768e388f26fb3d56a3c88055345219' ]
then return 0
else sudo /bin/mv nginx-1.23.0.tar.gz nginx-1.23.0.tar.gz.old
fi fi sudo curl -O http://nginx.org/download/nginx-1.23.0.tar.gz
ck_ok "下载Nginx"}install_ng()
{
cd /usr/local/src
echo "解压Nginx" sudo tar zxf nginx-1.23.0.tar.gz
ck_ok "解压Nginx" cd nginx-1.23.0
echo "安装依赖" if which yum >/dev/null 2>&1
then ## RHEL/Rocky for pkg in gcc make pcre-devel zlib-devel openssl-devel
do if ! rpm -q $pkg >/dev/null 2>&1
then sudo yum install -y $pkg ck_ok "yum 安装$pkg" else echo "$pkg已经安装" fi done fi if which apt >/dev/null 2>&1
then ##ubuntu for pkg in make libpcre++-dev libssl-dev zlib1g-dev
do if ! dpkg -l $pkg >/dev/null 2>&1
then sudo apt install -y $pkg ck_ok "apt 安装$pkg" else echo "$pkg已经安装" fi done fi echo "configure Nginx" sudo ./configure --prefix=/usr/local/nginx --with-http_ssl_module
ck_ok "Configure Nginx" echo "编译和安装" sudo make && sudo make install
ck_ok "编译和安装" echo "编辑systemd服务管理脚本" cat > /tmp/nginx.service <<EOF
[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/sh -c "/bin/kill -s HUP \$(/bin/cat /usr/local/nginx/logs/nginx.pid)"
ExecStop=/bin/sh -c "/bin/kill -s TERM \$(/bin/cat /usr/local/nginx/logs/nginx.pid)"
[Install]
WantedBy=multi-user.target
EOF sudo /bin/mv /tmp/nginx.service /lib/systemd/system/nginx.service
ck_ok "编辑nginx.service" echo "加载服务" sudo systemctl unmask nginx.service
sudo systemctl daemon-reload
sudo systemctl enable nginx
echo "启动Nginx" sudo systemctl start nginx
ck_ok "启动Nginx"}
download_ng
install_ng
将脚本保存为nginx_install.sh,执行以下命令:
chmod +x nginx_install.sh && ./nginx_install.sh
访问服务器IP地址,可以发现已经可以正常访问Nginx了。常用nginx命令:
# 启动nginxsystemctl start nginx# 停止nginxsystemctl stop nginx# 设置开机启动systemctl enable nginx# 取消开机启动systemctl disable nginx
最后附上一键安装nginx命令,友友们可以直接食用哦~
bash -c "$(curl -L s.aaa.al/nginx_install.sh)"