Ubuntu 系统下安装 Nginx

[复制链接]
发表于 2026-10-3 21:01:24 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×

Ubuntu 下源码安装 Nginx(含 systemd 自启配置)

Nginx 装法有 apt 一键装和源码编译两种。源码装的好处是能自己指定模块(比如 SSL)、自己定安装路径;代价是依赖要自己配、自启要自己写 unit 文件。这篇把从下载到成为系统服务全流程走一遍。

一、Nginx 是什么

  • 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供 IMAP/POP3/SMTP 服务;
  • 是轻量级的 Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在 BSD-like 协议下发行。特点是占有内存少、并发能力强。

二、安装步骤

1. 下载安装包

地址:https://nginx.org/download/。以 1.16.1 为例:

2. 上传服务器并解压

tar -zxvf nginx-1.16.1.tar.gz

3. 安装依赖

sudo apt install gcc make libpcre3-dev zlib1g-dev openssl libssl-dev

四个依赖各有用途:gcc/make 是编译工具,libpcre3-dev 给 Nginx 的 rewrite 正则用,zlib1g-dev 给 gzip 压缩用,libssl-dev 给 HTTPS 用。

4. 生成编译脚本

./configure --prefix=/usr/local/nginx --with-http_ssl_module

--prefix 指定安装目录,--with-http_ssl_module 装上 SSL 模块(要配 HTTPS 必须有它)。

5. 编译

make

6. 安装

make install

7. 启动与验证

/usr/local/nginx/sbin/nginx
ps aux | grep nginx

三、把 Nginx 变成 systemd 服务(开机自启)

7.1 创建 nginx.service 文件

[Unit]
Description=nginx high performance web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecStartPost=/sleep 0.1

[Install]
WantedBy=multi-user.target

几个字段说明:Type=forking 因为 Nginx 是主进程 + worker 多进程模型;ExecReload 用 -s reload 平滑重载;ExecStop 用 -s stop。注意 路径要和 ./configure --prefix 指定的一致。

7.2 放到 systemd 目录并授权

cp nginx.service /etc/systemd/system/
chmod 755 /etc/systemd/system/nginx.service

7.3 重新加载配置

systemctl daemon-reload

7.4 开启开机自启

systemctl enable nginx.service

7.5 启动服务

systemctl start nginx.service

7.6 查看状态

systemctl status nginx.service

四、启动报错:80 端口被占用

如果启动时看到「80 端口已经被其他进程占用,Nginx 无法绑定 80 端口」这一类报错,按下面两步来:

# 查是谁占了 80
ss -lntp | grep :80
# 或者
sudo fuser -k 80/tcp

查到 PID 后判断一下:如果那是你自己的服务(比如 Apache、另一个 Nginx 实例),就把它停掉;如果不属于你,改用别的端口(改 /usr/local/nginx/conf/nginx.conf 里的 listen)。

五、常用运维命令汇总

  • 启动:./nginx 或 systemctl start nginx;
  • 停止:./nginx -s stop(立即),systemctl stop nginx;
  • 平滑重载(改配置后必用):./nginx -s reload;
  • 检查配置文件语法:./nginx -t(改完配置先跑这条);
  • 查看版本:./nginx -v;
  • 配置文件位置:/usr/local/nginx/conf/nginx.conf;
  • 验证访问:浏览器开 http://服务器IP 看到欢迎页即成功。

六、源码装还是 apt 装?

  • 推荐 apt 装:apt install nginx,systemd、开机自启、日志日志轮转、配置文件目录全都给你配好,升级走 apt upgrade 就行;
  • 只有需要自定义模块或特定版本时才源码装(比如要加第三方 Nginx 模块、要跑某个老版本);
  • 源码装的维护成本明显更高:自启要手写 unit、升级要重新编译、出问题排查面更宽。所以「能用源就别自己编」。

小结

源码装 Nginx 七步:下包 → 解压 → 装依赖(gcc/make/pcre/zlib/ssl)→ ./configure → make → make install → 写 systemd unit 设自启。启动失败先查 ss -lntp | grep :80 看端口被谁占。日常运维记住三句:-t 验配置、-s reload 平滑生效、status 看状态。除非有自定义模块需求,否则还是建议直接用 apt 装,省心得多。

qidao123.com企服评测-应用市场 编辑提示

回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表