马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
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企服评测-应用市场 编辑提示 |