源码配置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
相关推荐
闲云一鹤17 小时前
nginx 快速入门教程 - 写给前端的你
前端·nginx·前端工程化
碳基沙盒1 天前
OpenClaw 多 Agent 配置实战指南
运维
蝎子莱莱爱打怪4 天前
Centos7中一键安装K8s集群以及Rancher安装记录
运维·后端·kubernetes
何中应4 天前
Nginx转发请求错误
前端·后端·nginx
DianSan_ERP5 天前
电商API接口全链路监控:构建坚不可摧的线上运维防线
大数据·运维·网络·人工智能·git·servlet
呉師傅5 天前
火狐浏览器报错配置文件缺失如何解决#操作技巧#
运维·网络·windows·电脑
不是二师兄的八戒5 天前
Linux服务器挂载OSS存储的完整实践指南
linux·运维·服务器
芝士雪豹只抽瑞克五5 天前
Nginx 高性能Web服务器笔记
服务器·nginx
zhangfeng11335 天前
趋动云 如何ssh登录 服务区 项目server
运维·人工智能·ssh