CentOS Nginx 1.13.9 部署文档

以下是 Nginx 1.13.9 的详细安装步骤(基于 CentOS/Ubuntu 系统):


1. 安装依赖

CentOS/RHEL
bash 复制代码
sudo yum install -y gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
Ubuntu/Debian
bash 复制代码
sudo apt update && sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev

2. 下载并解压 Nginx 1.13.9

bash 复制代码
wget http://nginx.org/download/nginx-1.13.9.tar.gz
tar -zxvf nginx-1.13.9.tar.gz
cd nginx-1.13.9

3. 配置编译选项

bash 复制代码
./configure \
--prefix=/data/opt/nginx-1.13.9 \
--sbin-path=/data/opt/nginx-1.13.9/sbin/nginx \
--conf-path=/data/opt/nginx-1.13.9/conf/nginx.conf \
--error-log-path=/data/opt/nginx-1.13.9/log/error.log \
--http-log-path=/data/opt/nginx-1.13.9/log/access.log \
--pid-path=/data/opt/nginx-1.13.9/run/nginx.pid \
--with-http_ssl_module \
--with-openssl=/data/opt/openssl-1.1.0l

4. 编译并安装

bash 复制代码
make && make install

5. 创建用户和目录

bash 复制代码
# 创建 Nginx 用户和组
sudo groupadd -r nginx
sudo useradd -r -g nginx -s /bin/false -M nginx

# 创建日志目录
sudo mkdir -p /var/log/nginx
sudo chown -R nginx:nginx /var/log/nginx

# 创建临时目录(如果需要)
sudo mkdir -p /var/cache/nginx
sudo chown -R nginx:nginx /var/cache/nginx

6. 配置 Systemd 服务(可选)

创建服务文件 /etc/systemd/system/nginx.service

ini 复制代码
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=network.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

7. 启动并验证

bash 复制代码
# 重新加载 Systemd
sudo systemctl daemon-reload

# 启动 Nginx
sudo systemctl start nginx

# 设置开机自启
sudo systemctl enable nginx

# 验证版本
nginx -v
# 输出应为:nginx/1.13.9

# 检查配置文件
nginx -t
# 输出应为:syntax is ok, test is successful

8. 开放防火墙(如需要)

bash 复制代码
# CentOS
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --reload

# Ubuntu
sudo ufw allow 'Nginx Full'

9. 访问测试

在浏览器中访问服务器 IP,看到以下页面表示成功:

复制代码
Welcome to nginx!

常见问题

1. 端口冲突

如果 80 端口被占用:

bash 复制代码
# 查找占用进程
sudo netstat -tulnp | grep :80

# 停止冲突服务(例如 Apache)
sudo systemctl stop httpd
2. 配置文件路径错误

如果修改过路径,需确保所有配置文件(如 nginx.conf)中的路径一致:

bash 复制代码
# 检查错误日志路径
grep "error_log" /etc/nginx/nginx.conf

附:编译参数说明

  • --prefix: 安装根目录
  • --sbin-path: 可执行文件路径
  • --conf-path: 主配置文件路径
  • --with-http_ssl_module: 启用 HTTPS 支持
  • --with-http_v2_module: 启用 HTTP/2 协议

如果需要其他模块(如 gzipproxy),可在 ./configure 时添加对应参数。

/data/opt/nginx-1.13.9/sbin/nginx -s reload

相关推荐
努力买辣条1 小时前
基于 Docker 的高可用 WordPress 集群部署:分布式 Nginx + Keepalived、MySQL 主从复制与 ProxySQL 读写分离
分布式·nginx·docker
程序员 _孜然3 小时前
Ubuntu/Debian修改网卡名字enP3p49s0为eth0
linux·运维·驱动开发·嵌入式硬件·ubuntu·debian
IDIOT___IDIOT3 小时前
Linux mount 命令
linux·运维·服务器
CTRA王大大4 小时前
【golang】制作linux环境+golang的Dockerfile | 如何下载golang镜像源
linux·开发语言·docker·golang
小张程序人生5 小时前
《VMware 安装 CentOS 7.9 虚拟机详细教程(含图解步骤)》
linux·centos
泡沫冰@7 小时前
管理 SELinux 安全性
linux
展信佳_daydayup8 小时前
03 基础篇-润和开发板连接过程
linux·开源·嵌入式
两张不够花8 小时前
Shell脚本源码安装Redis、MySQL、Mongodb、PostgreSQL(无报错版)
linux·数据库·redis·mysql·mongodb·postgresql·云计算
tan77º8 小时前
【Linux网络编程】分布式Json-RPC框架 - 项目设计
linux·服务器·网络·分布式·网络协议·rpc·json
Ray Song9 小时前
【Linux】 wget、curl 用法区别
linux·运维·服务器·curl·wget