源码配置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
相关推荐
喝醉酒的小白1 小时前
几种K8s运维管理平台对比说明
运维·容器·kubernetes
破-风5 小时前
linux的用法
linux·运维·服务器
大耳朵土土垚8 小时前
【Linux】日志设计模式与实现
linux·运维·设计模式
学问小小谢8 小时前
第26节课:内容安全策略(CSP)—构建安全网页的防御盾
运维·服务器·前端·网络·学习·安全
yaoxin5211239 小时前
第十二章 I 开头的术语
运维·服务器
ProgramHan9 小时前
1992-2025年中国计算机发展状况:服务器、电脑端与移动端的演进
运维·服务器·电脑
马立杰12 小时前
H3CNE-33-BGP
运维·网络·h3cne
云空14 小时前
《DeepSeek 网页/API 性能异常(DeepSeek Web/API Degraded Performance):网络安全日志》
运维·人工智能·web安全·网络安全·开源·网络攻击模型·安全威胁分析
没有名字的小羊14 小时前
Cyber Security 101-Build Your Cyber Security Career-Security Principles(安全原则)
运维·网络·安全
千夜啊15 小时前
Nginx 运维开发高频面试题详解
运维·nginx·运维开发