原创

centos 安装并配置为系统服务- nginx脚本

温馨提示:
本文最后更新于 2025年06月05日,已超过 373 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我

前提:在   /root  下

/root 下有nginx压缩文件 

nginx-1.20.2.tar.gz

创建脚本文件 

vim startNginx

脚本内容

echo "创建nginx文件夹 /mydata/nginx"
sleep 2
  mkdir -p /mydata/nginx
echo "创建静态资源文件夹 /mnt/data"
sleep 2
  mkdir -p /mnt/data
    echo "开始安装nginx的必要组件……"
    #安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境
    yum install gcc-c++
    #pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库
    yum install -y pcre pcre-devel
    #zlib库提供了很多种压缩和解压缩方式nginx使用zlib对http包的内容进行gzip,所以需要安装
    yum install -y zlib zlib-devel
    #nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库
    yum install -y openssl openssl-devel
    sleep 2
    echo "nginx的必要组件安装完成"
 
    sleep 2
    echo "开始解压-压缩文件……"
    sleep 1
    tar -zxvf nginx-1.20.2.tar.gz
    echo "解压-压缩文件完成"
    sleep 1
    cd nginx-1.20.2
 
  
  echo "开始配置(带有https模块)……"
    ./configure --prefix=/mydata/nginx --with-http_stub_status_module --with-http_ssl_module
  echo "开始编译……"
    sleep 2
    make
  echo "编译完成,开始安装……"
  sleep 2
  make install
  echo "nginx安装完成,更新nginx配置文件"
    sleep 2
    echo " worker_processes  1;
    pid        /mydata/nginx/logs/nginx.pid;
    events {
    worker_connections  1024;
  }
    http {
    include       mime.types;
    default_type  application/octet-stream;
    
    sendfile        on;
    
    keepalive_timeout  65;
    
    #gzip  on;
    upstream admin{
    least_conn;
    
    server  123.207.64.127:30258 weight=1 ;
  }
    server {
    listen       8088;
    server_name localhost;
    root         html;
    location / {
    
    root   html;
    proxy_pass http://admin;
    proxy_connect_timeout 20s;
    proxy_read_timeout  20s;
    proxy_send_timeout 30s;
    index  index.html index.htm;
  }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
    root   html;
  }
  }
    
    server {
    listen 80;
    server_name localhost;
    root  /mnt/data;
    error_page 403 /error.html;
    location = /error.html {
    return 404;
  }
    autoindex off;
    autoindex_exact_size off;
    autoindex_localtime off;
    
    location ^~ / {
    proxy_set_header Host $host:$server_port;
  }
    
    location ~*\.(jpg|gif|png|swf|flv|wma|wmv|asf|mp3|mmf|zip|rar|js|css)$ {
    expires 30d;
  
  }
  }
  
  
  
  
  }
    "  > /mydata/nginx/conf/nginx.conf
 
  
  
  echo  ' export PATH=$PATH:/mydata/nginx/sbin ' >> /etc/profile
  
  source /etc/profile
  
  
  echo "将nginx配置为系统服务……"
  sleep 2
  echo "[Unit]
  Description=nginx - web server
  After=network.target remote-fs.target nss-lookup.target
    
    [Service]
  Type=forking
  ExecStart=/mydata/nginx/sbin/nginx
  ExecReload=/mydata/nginx/sbin/nginx -s reload
  ExecStop=/mydata/nginx/sbin/nginx -s quit
  PrivateTmp=true
    
    [Install]
  WantedBy=multi-user.target " >/usr/lib/systemd/system/nginx.service
  echo "重新加载配置……"
  sleep 2
  systemctl daemon-reload
  echo "启动nginx服务"
  sleep 2
  systemctl start nginx.service
 echo "nginx 当前状态 "
  sleep 2
 systemctl status nginx.service
  echo "nginx 启动完成"
  sleep 2
echo "
            nginx使用命令 

systemctl start nginx       启动服务
systemctl daemon-reload     重新加载配置文件
systemctl stop nginx        停止服务
systemctl status nginx      nginx服务状态
systemctl restart nginx     重启nginx
静态资源文件夹                 /mnt/data
nginx文件夹                  /mydata/nginx

  同时保存在 /mydata/nginx/init.txt中
  " > /mydata/nginx/init.txt
  
cat /mydata/nginx/init.txt
正文到此结束