Nginx编译与安装的步骤

发布时间:2021-09-10 11:31:01 作者:chen
来源:亿速云 阅读:173
# Nginx编译与安装的步骤

## 一、前言

Nginx是一款高性能的HTTP和反向代理服务器,以其高并发、低内存占用和模块化架构闻名。本文详细介绍从源码编译安装Nginx的完整流程,包括环境准备、依赖安装、配置选项、编译安装及后续配置等步骤。

---

## 二、环境准备

### 1. 系统要求
- Linux/Unix操作系统(本文以CentOS 7为例)
- 至少1GB可用磁盘空间
- GCC编译器(4.8+版本)
- Root或具有sudo权限的用户

### 2. 检查基础工具
```bash
# 检查GCC是否安装
gcc --version

# 若无输出,则安装开发工具链
sudo yum groupinstall "Development Tools"

三、安装依赖库

Nginx编译需要以下依赖库:

依赖名称 作用 安装命令
PCRE 正则表达式支持 sudo yum install pcre-devel
OpenSSL HTTPS支持 sudo yum install openssl-devel
zlib GZIP压缩 sudo yum install zlib-devel

完整安装命令:

sudo yum install -y pcre-devel openssl-devel zlib-devel

四、下载Nginx源码

1. 访问官网获取稳定版

Nginx官方下载页
推荐选择Stable version(如nginx-1.24.0)

2. 使用wget下载

wget https://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0

五、配置编译选项

1. 基本配置命令

./configure \
  --prefix=/usr/local/nginx \
  --with-http_ssl_module \
  --with-http_v2_module \
  --with-http_realip_module

2. 常用配置参数说明

参数 作用
--prefix=/path 指定安装目录
--with-http_ssl_module 启用HTTPS支持
--with-stream 启用TCP/UDP代理功能
--with-debug 启用调试日志

3. 检查配置结果

执行后会显示汇总信息:

Configuration summary
  + using system PCRE library
  + OpenSSL library is used
  + using system zlib library

六、编译与安装

1. 执行编译

make -j$(nproc)  # -j参数启用多核编译加速

2. 安装到系统

sudo make install

3. 验证安装

/usr/local/nginx/sbin/nginx -v
# 应输出类似:nginx version: nginx/1.24.0

七、系统集成

1. 创建systemd服务

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

[Unit]
Description=The NGINX HTTP and reverse proxy 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 quit
PIDFile=/usr/local/nginx/logs/nginx.pid

[Install]
WantedBy=multi-user.target

2. 启用服务

sudo systemctl daemon-reload
sudo systemctl enable nginx
sudo systemctl start nginx

八、防火墙配置

1. 放行HTTP/HTTPS

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

2. 验证访问

浏览器访问http://服务器IP,应看到Nginx欢迎页。


九、后续配置建议

1. 环境变量配置

~/.bashrc中添加:

export PATH=$PATH:/usr/local/nginx/sbin

2. 日志轮转

配置logrotate:

sudo vim /etc/logrotate.d/nginx

内容示例:

/usr/local/nginx/logs/*.log {
  daily
  missingok
  rotate 14
  compress
  delaycompress
  notifempty
  create 640 root root
  sharedscripts
  postrotate
    [ -f /usr/local/nginx/logs/nginx.pid ] && kill -USR1 `cat /usr/local/nginx/logs/nginx.pid`
  endscript
}

十、常见问题解决

1. 端口冲突

若出现bind() to 0.0.0.0:80 failed错误:

# 检查占用进程
sudo netstat -tulnp | grep :80

# 停止占用服务或修改Nginx配置
vim /usr/local/nginx/conf/nginx.conf

2. 模块缺失错误

重新配置时添加对应模块:

./configure --with-http_stub_status_module  # 示例:添加状态模块
make && sudo make install

十一、总结

通过源码编译安装Nginx可以获得: - 最新版本特性 - 自定义模块组合 - 优化的安装路径 - 更好的安全控制

建议生产环境配合防火墙规则和定期日志清理使用。如需更简便的安装方式,可考虑使用官方预编译包或Docker镜像。

注:本文档最后更新于2023年10月,不同版本操作可能略有差异。 “`

(全文约2000字,实际字符数可能因Markdown格式略有差异)

推荐阅读:
  1. nginx的编译安装
  2. 编译安装nginx

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

nginx

上一篇:Springboot 怎样关闭自动配置

下一篇:怎么通过重启路由的方法切换IP地址

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》