源码配置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
相关推荐
追风赶月、19 分钟前
【Linux】线程概念与线程控制
linux·运维·服务器
CP-DD33 分钟前
Docker 容器化开发 应用
运维·docker·容器
努力的悟空2 小时前
国土变更调查拓扑错误自动化修复工具的研究
运维·自动化
周末不下雨3 小时前
win11+ubuntu22.04双系统 | 联想 24 y7000p | ubuntu 22.04 | 把ubuntu系统装到1T的移动固态硬盘上!!!
linux·运维·ubuntu
耗同学一米八4 小时前
2024 年河北省职业院校技能大赛网络建设与运维赛项样题四
运维·网络
_半夏曲4 小时前
node.js、nginx、iis、tomcat针对部署方面的简述
nginx·node.js·tomcat
东华果汁哥5 小时前
【linux 免密登录】快速设置kafka01、kafka02、kafka03 三台机器免密登录
linux·运维·服务器
肖永威5 小时前
CentOS环境上离线安装python3及相关包
linux·运维·机器学习·centos
布鲁格若门5 小时前
CentOS 7 桌面版安装 cuda 12.4
linux·运维·centos·cuda
Eternal-Student5 小时前
【docker 保存】将Docker镜像保存为一个离线的tar归档文件
运维·docker·容器