Nginx 安装

Nginx安装(编译安装)

 # 准备工作
 # 先配置好yum源,配好网络,配置防火墙
 ​
 # 环境变量(永久生效)
 echo 'export PATH=$PATH:/usr/local/nginx/sbin' >> /etc/profile
 source /etc/profile
 ​
 # 安装wget
 yum install -y wget
 ​
 # 切换目录
 cd /usr/local/src     
 ​
 # 下载nginx
 wget https://nginx.org/download/nginx-1.31.0.tar.gz
 ​
 # 解压缩
 tar -xvf nginx-1.31.0.tar.gz
 ​
 # 安装编译环境
 yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel libtool
 ​
 # 进去nginx文件
 cd nginx-1.31.0
 ​
 # 编译前的配置阶段
 ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module
 ​
 # 编译make(动用4个cpu核心)
 make -j4
 ​
 # 安装到系统
 make install
 ​
 # 启动Nginx(已设置环境变量)
 nginx
 ​
 # 真机ping通Linux虚拟机;
 浏览器:地址栏输入Linux的ip地址;
 ​
 # nginx默认的web文件路径
 cd /usr/local/nginx/html

nginx 常用命令

 常用到的命令如下:
 ​
 nginx -s stop       快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。
 nginx -s quit       平稳关闭Nginx,保存相关信息,有安排的结束web服务。
 nginx -s reload     因改变了Nginx相关配置,需要重新加载配置而重载。
 nginx -s reopen     重新打开日志文件。
 nginx -c filename   为 Nginx 指定一个配置文件,来代替缺省的。
 nginx -t            不运行,仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。
 nginx -v            显示 nginx 的版本。
 nginx -V            显示 nginx 的版本,编译器版本和配置参数。

创建nginx启动脚本及使用

 # 编辑文件
 vim /usr/lib/systemd/system/nginx.service
 ​
 # 编辑内容
 [Unit]
 Description=The NGINX HTTP and reverse proxy server
 After=syslog.target network.target remote-fs.target nss-lookup.target
 ​
 [Service]
 Type=forking
 PIDFile=/usr/local/nginx/logs/nginx.pid
 ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
 ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
 ExecReload=/usr/local/nginx/sbin/nginx -s reload
 ExecStop=/bin/kill -s QUIT $MAINPID
 PrivateTmp=true
 ​
 [Install]
 WantedBy=multi-user.target
 ​
 ​
 # 操作方式
 # 重新加载 systemd 配置
 systemctl daemon-reload
 ​
 # 启动 nginx
 systemctl start nginx
 ​
 # 设置开机自启
 systemctl enable nginx
 ​
 # 查看状态
 systemctl status nginx
 ​
 # 重载配置(不中断服务)
 systemctl reload nginx
 ​
 # 查看日志
 journalctl -u nginx -f

Docker安装Nginx

 docker run --name myNginx \
            -p 80:80 \
            -v /data/www/html:/usr/share/nginx/html \
            -d nginx

搭建文件服务器

一个最简化的配置如下:

 autoindex on;                   # 显示目录
 autoindex_exact_size on;        # 显示文件大小
 autoindex_localtime on;         # 显示文件时间
 server {
         charset   utf-8,gbk;    # windows 服务器下设置后,依然乱码,暂时无解  
         listen       9050 default_server;
         listen       [::]:9050 default_server;
         server_name  down.blog.com;
         root         /data/;
 }

Nginx 安装脚本(字写)

 #!/bin/bash
 # ============================================
 # 脚本名称: Nginx_az.sh
 # 功能描述: 一键安装 Nginx 软件
 # 使用方法1: bash Nginx_az.sh
 # 使用方法2: chmod +x Nginx_az.sh && ./Nginx_az.sh
 # ============================================
 ​
 # 可爱动物提示函数
 # 🐱 猫咪 - 普通提示
 cat_say() {
     echo -e "\033[33m"
     echo "  /\_/\  "
     echo " ( o.o )  $1"
     echo "  > ^ <  "
     echo -e "\033[0m"
 }
 ​
 ​
 # ------- 准备工作环境变量 -------
 echo " "
 cat_say " 设置环境变量中 "
 ​
 if ! grep -q "/usr/local/nginx/sbin" /etc/profile
     then
         echo 'export PATH=$PATH:/usr/local/nginx/sbin' >> /etc/profile
 fi
 ​
 cat_say " 环境变量可以使用了哟~~~///(^v^)\\\~~~ "
 ​
 # 使环境变量生效
 source /etc/profile
 cat_say "环境变量已生效"
 ​
 # --------- 安装 wget ----------
 echo " "
 cat_say " 边吃猫条边安装wget "
 ​
 if yum install -y wget
      then                   
           cat_say " 安装成功了哟 (●ˇ∀ˇ●) "
      else                   
           cat_say " 好像已经安装过了耶 "
 fi  
 ​
 # ---------- 切换目录 -----------
 cd /usr/local/src     
 ​
 # --------- 下载 Nginx ----------
 echo " "
 cat_say " 下载 Nginx 中 "
 ​
 wget https://nginx.org/download/nginx-1.31.0.tar.gz
 ​
 # --------- 解压 Nginx ----------
 tar -xvf nginx-1.31.0.tar.gz
 ​
 # --------- 安装编译环境 ---------
 echo " "
 cat_say " 安装编译环境 "
 ​
 yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel libtool
 ​
 echo " "
 cat_say " 编译环境完成啦 "
 ​
 # ---------- 切换目录 -----------
 cd nginx-1.31.0
 ​
 # ------- 编译前的配置阶段 -------
 echo " "
 cat_say " 等待配置 "
 ​
 ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module
 ​
 echo " "
 cat_say " 配置检测完成啦 "
 ​
 # --------- 编译 make ----------
 echo " "
 cat_say " 开始编译 吃个猫条等待一下 "
 ​
 make -j4
 ​
 echo " "
 cat_say " 终于编译好了 撑死我了 "
 ​
 # --------- 安装到系统 ----------
 echo " "
 cat_say " 安装到系统 "
 ​
 make install
 ​
 # --------- 启动 Nginx ---------
 echo " "
 cat_say "  启动 Nginx 中  "
 ​
 if nginx
      then                   
           cat_say " 启动成功了 (●ˇ∀ˇ●) "
      else                   
           cat_say " 启动好像失败了耶/(ㄒoㄒ)/~~  "
 fi

Nginx 安装脚本(ai优化)

 #!/bin/bash
 # ============================================
 # 脚本名称: Nginx_az1.sh
 # 功能描述: 一键安装 Nginx 软件(完全静默版)
 # 使用方法: bash Nginx_az1.sh
 # 特点: 屏幕无输出,所有日志保存到文件
 # ============================================
 ​
 # ---------- 日志配置 ----------
 LOG_DIR="/var/log/nginx_install"
 mkdir -p "$LOG_DIR"
 LOG_FILE="$LOG_DIR/install_$(date +%Y%m%d_%H%M%S).log"
 ​
 # ---------- 重定向所有输出到日志 ----------
 # 这样屏幕就完全干净了,所有输出都去日志文件
 exec > >(tee -a "$LOG_FILE") 2>&1
 ​
 # ---------- 颜色定义(日志中保留) ----------
 RESET='\033[0m'
 GREEN='\033[32m'
 YELLOW='\033[33m'
 ​
 # ---------- 猫咪提示函数(只写日志) ----------
 cat_say() {
     echo -e "${YELLOW}"
     echo "  /\_/\  "
     echo " ( o.o )  $1"
     echo "  > ^ <  "
     echo -e "${RESET}"
 }
 ​
 # ---------- 开始安装 ----------
 echo "========================================="
 echo "开始时间: $(date '+%Y-%m-%d %H:%M:%S')"
 echo "日志文件: $LOG_FILE"
 echo "========================================="
 ​
 # ------- 1. 配置环境变量 -------
 echo " "
 cat_say "设置环境变量中..."
 ​
 if ! grep -q "/usr/local/nginx/sbin" /etc/profile 2>/dev/null; then
     echo 'export PATH=$PATH:/usr/local/nginx/sbin' >> /etc/profile
     cat_say "环境变量已添加"
 else
     cat_say "环境变量已存在"
 fi
 ​
 # 使环境变量生效
 source /etc/profile
 cat_say "环境变量已生效"
 ​
 # ------- 2. 安装 wget -------
 echo " "
 cat_say "安装 wget..."
 ​
 if yum install -y wget > /dev/null 2>&1; then
     cat_say "wget 安装成功 (●ˇ∀ˇ●)"
 else
     cat_say "wget 可能已安装"
 fi
 ​
 # ------- 3. 下载 Nginx -------
 echo " "
 cat_say "下载 Nginx..."
 ​
 cd /usr/local/src || exit
 ​
 if [ ! -f "nginx-1.31.0.tar.gz" ]; then
     wget -q https://nginx.org/download/nginx-1.31.0.tar.gz
     if [ $? -eq 0 ]; then
         cat_say "下载完成"
     else
         cat_say "下载失败,请检查网络"
         exit 1
     fi
 else
     cat_say "安装包已存在,跳过下载"
 fi
 ​
 # ------- 4. 解压 Nginx -------
 echo " "
 cat_say "解压 Nginx..."
 ​
 if [ ! -d "nginx-1.31.0" ]; then
     tar -xf nginx-1.31.0.tar.gz 2>/dev/null
     cat_say "解压完成"
 else
     cat_say "已解压,跳过"
 fi
 ​
 # ------- 5. 安装编译环境 -------
 echo " "
 cat_say "安装编译环境(可能需要几分钟)..."
 ​
 yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel libtool > /dev/null 2>&1
 ​
 if [ $? -eq 0 ]; then
     cat_say "编译环境安装完成"
 else
     cat_say "编译环境安装失败"
     exit 1
 fi
 ​
 # ------- 6. 配置编译参数 -------
 echo " "
 cat_say "配置编译参数..."
 ​
 cd nginx-1.31.0 || exit
 ​
 ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module > /dev/null 2>&1
 ​
 if [ $? -eq 0 ]; then
     cat_say "配置完成"
 else
     cat_say "配置失败"
     exit 1
 fi
 ​
 # ------- 7. 编译 -------
 echo " "
 cat_say "开始编译(吃个猫条慢慢等)..."
 ​
 make -j4 > /dev/null 2>&1
 ​
 if [ $? -eq 0 ]; then
     cat_say "编译完成"
 else
     cat_say "编译失败"
     exit 1
 fi
 ​
 # ------- 8. 安装到系统 -------
 echo " "
 cat_say "安装到系统..."
 ​
 make install > /dev/null 2>&1
 ​
 if [ $? -eq 0 ]; then
     cat_say "安装完成"
 else
     cat_say "安装失败"
     exit 1
 fi
 ​
 # ------- 9. 启动 Nginx -------
 echo " "
 cat_say "启动 Nginx..."
 ​
 if /usr/local/nginx/sbin/nginx 2>/dev/null; then
     cat_say "🎉 Nginx 启动成功!(●ˇ∀ˇ●)"
 else
     cat_say "😭 Nginx 启动失败,查看错误日志"
     tail -20 /usr/local/nginx/logs/error.log
     exit 1
 fi
 ​
 # ------- 10. 显示安装信息 -------
 echo " "
 echo "========================================="
 echo "✅ Nginx 安装完成!"
 echo "📋 安装信息:"
 echo "  安装路径: /usr/local/nginx"
 echo "  配置文件: /usr/local/nginx/conf/nginx.conf"
 echo "  启动命令: nginx"
 echo "  日志文件: $LOG_FILE"
 echo "结束时间: $(date '+%Y-%m-%d %H:%M:%S')"
 echo "========================================="