源码配置nginx,分别编写基于RHEL6、RHEL7的脚本

一、配置nginx

1.安装

2.创建系统用户

  1. 下载依赖包
  1. 创建nginx日志存放目录

5.编译安装

复制代码
[root@server ~]# tar xf nginx-1.20.2.tar.gz
[root@server ~]# cd nginx-1.20.2/
[root@server nginx-1.20.2]# ./configure \
> --prefix=/usr/local/nginx \  
> --user=nginx \  
> --group=nginx \  
> --with-debug \   
> --with-http_ssl_module \  
> --with-http_realip_module \  
> --with-http_image_filter_module \  
> --with-http_gunzip_module \  
> --with-http_gzip_static_module \ 
> --with-http_stub_status_module \ 
> --http-log-path=/var/log/nginx/access.log \  
> --error-log-path=/var/log/nginx/error.log  
[root@localhost nginx-1.20.2]# make install

6.开启

复制代码
[root@server nginx-1.20.2]# nginx
[root@server nginx-1.20.2]# ss -antl
State  Recv-Q Send-Q Local Address:Port   Peer Address:Port Process 
LISTEN 0      511          0.0.0.0:80          0.0.0.0:*            
LISTEN 0      128          0.0.0.0:22          0.0.0.0:*            
LISTEN 0      128        127.0.0.1:631         0.0.0.0:*            
LISTEN 0      128        127.0.0.1:6010        0.0.0.0:*            
LISTEN 0      128             [::]:22             [::]:*            
LISTEN 0      128            [::1]:631            [::]:*            
LISTEN 0      128            [::1]:6010           [::]:*            

二、基于RHEL6编写一个脚本安装nginx

复制代码
#!/bin/bash
 
# 检查是否以 root 权限运行脚本
if [ "$(id -u)" -ne 0 ]; then
    echo "请以 root 权限运行此脚本"
    exit 1
fi
 
# 安装 Nginx(如果未安装)
if ! rpm -q nginx > /dev/null; then
    echo "正在安装 Nginx..."
    yum install -y nginx
fi
 
# 配置虚拟主机
read -p "请输入域名(例如: example.com): " domain_name
read -p "请输入网站根目录的绝对路径: " web_root
 
# 创建虚拟主机配置文件
cat > /etc/nginx/conf.d/${domain_name}.conf <<EOF
server {
    listen 80;
    server_name ${domain_name};
 
    root ${web_root};
    index index.html;
 
    location / {
        try_files $uri $uri/ =404;
    }
}
EOF
 
# 创建网站根目录
mkdir -p $web_root
chown -R nginx:nginx $web_root
 
# 重新加载 Nginx 配置
systemctl restart nginx
 
# 启用 Nginx 开机自启动
systemctl enable nginx
 
echo "Nginx 配置已完成。"

三、基于RHEL7编写一个脚本安装nginx

复制代码
#!/bin/bash
 
# 检查是否以 root 权限运行脚本
if [ "$(id -u)" -ne 0 ]; then
    echo "请以 root 权限运行此脚本"
    exit 1
fi
 
# 安装 Nginx(如果未安装)
if ! rpm -q nginx > /dev/null; then
    echo "正在安装 Nginx..."
    yum install -y nginx
fi
 
# 配置虚拟主机
read -p "请输入域名(例如: example.com): " domain_name
read -p "请输入网站根目录的绝对路径: " web_root
 
# 创建虚拟主机配置文件
cat > /etc/nginx/conf.d/${domain_name}.conf <<EOF
server {
    listen 80;
    server_name ${domain_name};
 
    root ${web_root};
    index index.html;
 
    location / {
        try_files \$uri \$uri/ =404;
    }
}
EOF
 
# 创建网站根目录
mkdir -p $web_root
chown -R nginx:nginx $web_root
 
# 检查 Nginx 配置是否正确
if nginx -t > /dev/null 2>&1; then
    # 重新加载 Nginx 配置
    systemctl reload nginx
    # 启用 Nginx 开机自启动
    systemctl enable nginx
    echo "Nginx 配置已完成。"
else
    echo "Nginx 配置有误,请检查配置文件并重新运行脚本。"
fi
相关推荐
Acrellea1 分钟前
当机柜功率冲向 50kW,配电运维如何跟上算力的进化速度?
大数据·运维
M158227690559 分钟前
三格串口服务器:RS232/485 设备联网解决方案
运维·服务器·单片机
云上工程笔记22 分钟前
ELI5:如何把复杂概念自动画成图,方便写文档、做分享、带新人
运维·服务器·网络·云计算
饼饼学习空间智能1 小时前
具身智能实训平台有哪些供应商?2026年机器人教学与仿真平台选型指南
运维·人工智能
梦想的旅途21 小时前
企业微信API在考勤与审批流程自动化中的应用
运维·自动化·企业微信
汉知宝科技1 小时前
专利年费监控功能解析:从漏缴风险防控到汉知宝平台的自动化闭环实践
运维·自动化
艾iYYY1 小时前
Linux基础操作指令
linux·运维·服务器
亚川楼宇自控系统数据中心厂家2 小时前
数据中心电力监控与供配电体系规避电力运行风险
运维
霸道流氓气质2 小时前
运维补偿接口的设计与实现:模式、形态与通用示例
运维
智恒百亿2 小时前
5090八卡服务器整机技术解析与部署常见问题(FAQ)
运维·服务器