Nginx 1.28.0 源码编译安装与自定义网页部署详细指南

 更新时间:2026年05月11日 09:42:39   作者:Lw老王要学习  
本文介绍了Nginx1.28.0的安装过程,提供了自定义HTML文件部署步骤、安装后核心目录说明、常用管理命令、部署前端项目示例等内容,感兴趣的朋友跟随小编一起看看吧

一、前置说明

  • 安装包:nginx-1.28.0.tar.gz,已上传至 /root 目录
  • 系统:CentOS 7.x(适配你当前的环境)
  • 安装方式:源码编译安装,默认安装到 /usr/local/nginx
  • 前置依赖:gcc、pcre、zlib、openssl(脚本自动安装)

二、一键安装脚本(推荐直接使用)

vim /root/nginx_install.sh
  • 脚本如下:
#!/bin/bash
# Nginx 1.28.0 源码编译安装脚本(CentOS 7.x,root执行)
# ==================== 配置参数 ====================
NGINX_VERSION="1.28.0"
NGINX_PACKAGE="/root/nginx-${NGINX_VERSION}.tar.gz"
INSTALL_PATH="/usr/local/nginx"
# =================================================
# 1. 检查root权限
if [ $UID -ne 0 ]; then
    echo "请使用root用户执行此脚本!"
    exit 1
fi
# 2. 检查安装包是否存在
if [ ! -f "${NGINX_PACKAGE}" ]; then
    echo "错误:/root目录下未找到nginx-${NGINX_VERSION}.tar.gz安装包!"
    exit 1
fi
# 3. 安装编译依赖
echo "===== 安装编译依赖 ====="
yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel
# 4. 解压源码包
echo "===== 解压Nginx源码包 ====="
cd /root
tar -zxf nginx-${NGINX_VERSION}.tar.gz
cd nginx-${NGINX_VERSION}
# 5. 配置编译参数(含SSL、gzip、rewrite等核心模块)
echo "===== 配置编译参数 ====="
./configure \
--prefix=${INSTALL_PATH} \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-pcre
# 6. 编译并安装
echo "===== 编译并安装Nginx ====="
make && make install
# 7. 配置环境变量(方便直接调用nginx命令)
echo "===== 配置环境变量 ====="
if ! grep -q "nginx" /etc/profile; then
    echo "export PATH=\$PATH:${INSTALL_PATH}/sbin" >> /etc/profile
fi
source /etc/profile
# 8. 创建系统服务(systemd管理,开机自启)
echo "===== 创建Nginx系统服务 ====="
cat > /usr/lib/systemd/system/nginx.service << EOF
[Unit]
Description=Nginx Web Server
After=network.target
[Service]
Type=forking
ExecStart=${INSTALL_PATH}/sbin/nginx
ExecReload=${INSTALL_PATH}/sbin/nginx -s reload
ExecStop=${INSTALL_PATH}/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
# 重载systemd配置并设置开机自启
systemctl daemon-reload
systemctl enable nginx
# 9. 开放防火墙端口(80/443)
echo "===== 开放防火墙端口 ====="
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload
# 10. 启动Nginx并验证
echo "===== 启动Nginx并验证 ====="
systemctl start nginx
sleep 2
if ps aux | grep nginx | grep -v grep > /dev/null; then
    echo "====================================="
    echo "✅ Nginx ${NGINX_VERSION} 安装成功!"
    echo "安装路径:${INSTALL_PATH}"
    echo "配置文件:${INSTALL_PATH}/conf/nginx.conf"
    echo "网页目录:${INSTALL_PATH}/html"
    echo "启动命令:systemctl start nginx"
    echo "访问地址:http://你的服务器IP"
    echo "====================================="
else
    echo "❌ Nginx 启动失败,请检查安装日志!"
    exit 1
fi

赋权执行脚本+重新加载环境变量

chmod +x nginx_install.sh
sh /root/nginx_install.sh
source /etc/profile

三、手动分步安装流程(可选)

步骤1:安装编译依赖

yum install -y gcc gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel

步骤2:解压源码包

cd /root
tar -zxf nginx-1.28.0.tar.gz
cd nginx-1.28.0

步骤3:配置编译参数

./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-http_realip_module \
--with-pcre

步骤4:编译并安装

make && make install

步骤5:配置环境变量

echo "export PATH=\$PATH:/usr/local/nginx/sbin" >> /etc/profile
source /etc/profile

步骤6:创建systemd服务

cat > /usr/lib/systemd/system/nginx.service << EOF
[Unit]
Description=Nginx Web Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
# 重载配置并设置开机自启
systemctl daemon-reload
systemctl enable nginx

步骤7:开放防火墙端口

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

步骤8:启动并验证

# 启动Nginx
systemctl start nginx
# 验证进程
ps aux | grep nginx
# 验证端口(80端口)
ss -tlnp | grep 80
# 本地访问测试
curl http://127.0.0.1

步骤9、自定义HTML文件部署步骤

替换默认首页(快速测试)

如果仅需替换Nginx默认的欢迎页,直接将自定义的index.html覆盖默认文件即可:

# 备份默认首页(可选)
cp /usr/local/nginx/html/index.html /usr/local/nginx/html/index.html.bak
# 将本地自定义的index.html上传到服务器(示例用scp,也可通过rz、FTP等方式)
scp /本地路径/index.html root@你的服务器IP:/usr/local/nginx/html/
# 刷新页面即可访问(无需重启Nginx)

----#####我这里用的xftp¥¥¥¥¥----

四、安装后核心目录说明

目录/文件作用说明
/usr/local/nginx/conf/nginx.conf主配置文件,所有反向代理、站点配置都在这里
/usr/local/nginx/conf/conf.d/自定义站点配置目录(可手动创建,在nginx.conf中include)
/usr/local/nginx/html/默认网页根目录,部署前端项目时将文件放在这里
/usr/local/nginx/logs/日志目录,包含access.log(访问日志)和error.log(错误日志)
/usr/local/nginx/sbin/nginxNginx主程序,可直接执行命令(如nginx -s reload重载配置)

五、常用管理命令

# 启动Nginx
systemctl start nginx
# 停止Nginx
systemctl stop nginx
# 重启Nginx
systemctl restart nginx
# 重载配置(修改配置文件后用,不中断服务)
systemctl reload nginx
# 或直接用主程序
nginx -s reload
# 检查配置文件语法
nginx -t
# 查看Nginx状态
systemctl status nginx
# 查看Nginx进程
ps aux | grep nginx
# 查看端口占用
ss -tlnp | grep nginx

六、部署前端项目示例

  1. 将前端打包文件上传至 /usr/local/nginx/html/你的项目目录(如 /usr/local/nginx/html/frontend
  2. 编辑配置文件 /usr/local/nginx/conf/nginx.conf,添加站点配置:
server {
    listen 80;
    server_name 你的服务器IP;
    location / {
        root /usr/local/nginx/html/frontend;
        index index.html index.htm;
        try_files $uri $uri/ /index.html; # 解决SPA路由刷新404问题
    }
    # 反向代理后端接口示例
    location /api {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}
  1. 检查配置并重载:
nginx -t && nginx -s reload

七、常见问题排查

  1. 端口被占用:执行 ss -tlnp | grep 80 查看占用进程,停止占用进程或修改Nginx监听端口
  2. 配置文件语法错误nginx -t 会明确提示错误位置,根据提示修改配置文件
  3. 访问403 Forbidden:检查网页目录权限,确保Nginx进程用户(默认nobody)有读取权限
  4. 无法访问:检查防火墙是否开放80/443端口,服务器安全组是否放行

到此这篇关于Nginx 1.28.0 源码编译安装与自定义网页部署简明指南的文章就介绍到这了,更多相关nginx 1.28.0 源码编译安装内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 解决nginx报错信息 client intended to send too large body: 1331696 bytes

    解决nginx报错信息 client intended to send too large body: 1331696

    这篇文章主要介绍了解决nginx报错 client intended to send too large body: 1331696 bytes的相关资料,需要的朋友可以参考下
    2017-02-02
  • nginx 配置指令之location使用详解

    nginx 配置指令之location使用详解

    这篇文章主要介绍了nginx 配置指令之location使用,Nginx最大的安全问题并不是其安全漏洞,而是在运维上面,尤其是错误配置导致的问题,对nginx location使用感兴趣的朋友一起看看吧
    2022-05-05
  • nginx中配置使用proxy protocol协议的全过程

    nginx中配置使用proxy protocol协议的全过程

    proxy protocol是一个Internet协议,通过为tcp添加一个很小的头信息,来方便的传递客户端信息,在网络情况复杂又需要获取用户真实IP时非常有用,这篇文章主要给大家介绍了关于nginx中配置使用proxy protocol协议的相关资料,需要的朋友可以参考下
    2022-04-04
  • nginx的限流和网关gatway限流详解

    nginx的限流和网关gatway限流详解

    这篇文章主要介绍了nginx的限流和网关gatway限流,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Nginx在Linux中的配置及维护全教程

    Nginx在Linux中的配置及维护全教程

    Nginx是一款高性能的开源HTTP和反向代理服务器,以其高并发处理能力和低资源消耗而闻名,它支持多种功能,Nginx的配置文件基于文本,易于理解和修改,使其成为 Web 开发和运维人员的首选工具之一,本文给大家介绍了Nginx在Linux中的配置及维护全教程
    2025-02-02
  • 利用Nginx处理Vue开发环境的跨域的方法

    利用Nginx处理Vue开发环境的跨域的方法

    这篇文章主要介绍了利用Nginx处理Vue开发环境的跨域的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-06-06
  • 分布式架构中关于正向代理反向代理面试提问

    分布式架构中关于正向代理反向代理面试提问

    这篇文章主要为大家介绍了分布式架构中关于正向代理反向代理的面试提问,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • 关于Nginx跨域问题及解决方案(CORS)

    关于Nginx跨域问题及解决方案(CORS)

    文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CORS的基本概念、常见的跨域场景、Nginx如何解决CORS问题,以及如何配置Nginx来处理CORS请求
    2025-02-02
  • 前端将项目部署到服务器(Nginx)的完整步骤

    前端将项目部署到服务器(Nginx)的完整步骤

    最近写了一个项目,需要进行手机上测试,下面就需要前端自己将项目进行部署,这篇文章主要给大家介绍了关于前端将项目部署到服务器(Nginx)的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-01-01
  • 使用Nginx配置文件服务器方式

    使用Nginx配置文件服务器方式

    这篇文章主要介绍了使用Nginx配置文件服务器方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-05-05

最新评论