在Debian系统下APT安装最新版NGINX

简介

Nginx是一个异步框架的Web服务器,也可以用作反向代理,负载平衡器和HTTP缓存。该软件由Igor Sysoev创建,并于2004年首次公开发布。同名公司成立于2011年,以提供支持。Nginx是一款免费的开源软件,根据类BSD许可证的条款发布。

本文介绍的是如何在Debian系统中通过添加源的方式,apt安装最新版Nginx.

安装PHP可以看这篇文章:在Debian系统中APT安装PHP 7.1/7.2/7.3/7.4

安装

安装先决条件:

sudo apt install curl gnupg2 ca-certificates lsb-release

要为稳定的nginx软件包设置apt仓库,请运行以下命令:

echo "deb http://nginx.org/packages/debian `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

如果要使用主线nginx软件包,请改为运行以下命令:

echo "deb http://nginx.org/packages/mainline/debian `lsb_release -cs` nginx" \
    | sudo tee /etc/apt/sources.list.d/nginx.list

接下来,导入官方的nginx签名密钥,以便apt可以验证软件包的真实性:

curl -fsSL https://nginx.org/keys/nginx_signing.key | sudo apt-key add -

验证您现在是否具有正确的密钥:

sudo apt-key fingerprint ABF5BD827BD9BF62

输出应包含完整指纹573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62如下:

pub   rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
      573B FD6B 3D8F BC64 1079  A6AB ABF5 BD82 7BD9 BF62
uid   [ unknown] nginx signing key 

要安装nginx,请运行以下命令:

sudo apt update
sudo apt install nginx

常见问题

使用 NGINX 官方源安装会发现 Systemd 中存在报错

● nginx.service - nginx - high performance web server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2020-04-15 18:16:30 CST; 22min ago
     Docs: http://nginx.org/en/docs/
  Process: 31377 ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf (code=exited, status=0/SUCCESS)
 Main PID: 31379 (nginx)
    Tasks: 3 (limit: 1122)
   Memory: 8.4M
   CGroup: /system.slice/nginx.service
           ├─31379 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
           ├─31380 nginx: worker process
           └─31381 nginx: worker process

4月 15 18:16:30 debian systemd[1]: nginx.service: Succeeded.
4月 15 18:16:30 debian systemd[1]: Stopped nginx - high performance web server.
4月 15 18:16:30 debian systemd[1]: Starting nginx - high performance web server...
4月 15 18:16:30 debian systemd[1]: nginx.service: Can't open PID file /run/nginx.pid (yet?) after start: No such file or directory
4月 15 18:16:30 debian systemd[1]: Started nginx - high performance web server.

问题原因

这是因为 NGX 启动时 PID 文件并未产生,导致文件无法读取

解决方法:

/lib/systemd/system/nginx.service中添加下面语句,以实现在执行可执行文件前等待 0.1s 

ExecStartPost=/bin/sleep 0.1

然后重载守护单元

systemctl daemon-reload

重启nginx即可

service nginx restart

参考链接

  1. nginx: Linux packages
  2. nginx.service: Failed to read PID from file /run/nginx.pid: Invalid argument
暂无评论

发送评论 编辑评论

|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇