Linux环境中安装nginx
前言
在linux环境日常开发中,如果需要使用http/https协议进行通讯,那么难免会用到nginx服务,关于nginx的安装,还是有一点点麻烦,官方文档中列举了各种操作系统的安装步骤,这里根据官方文档进行简单翻译整理,并记录下来,因时间精力有限,这里只整理了REHL/CentOs/Debian/ubuntu这些比较常见系统的nginx安装步骤,关于其他的操作系统,请自行查阅官方文档。
官方文档:http://nginx.org/en/linux_packages.html#RHEL-CentOS
安装说明
在新机器上第一次安装nginx之前,需要设置nginx软件包存储库。然后再从存储库中安装和更新ngnix。以下列举不同操作系统安装nginx的步骤:
REHL/CentOS系统
安装依赖项
sudo yum install yum-utils
需要设置yum存储库,创建文件/etc/yum.repo.d/nginx.repo,并将以下内容复制到该文件中,然后保存退出。
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
通常情况下,默认使用稳定nginx包的存储库,如果想要使用主线上的nginx包,运行下面命令,否则,请跳过。
sudo yum-config-manager --enable nginx-mainline
最后运行下面命令来安装nginx:
sudo yum install nginx
当提示接受GPG密钥时,如果验证指纹是否是 573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62 ,如果是,选择接受。
nginx安装完成后,启动nginx服务:
sudo service nginx start
Debian系统
安装依赖项:
sudo apt install curl gnupg2 ca-certificates lsb-release debian-archive-keyring
导入nginx签名密钥,以便apt可以验证包的真实性。通过下面命令去获取密钥:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
验证下载的文件包是否包含正确的密钥:
gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
输出中应包含指纹 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 ,如下所示:
pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>
如果输出指纹不是 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 ,则将文件/usr/share/keyrings/nginx-archive-keyring.gpg删除掉。
需要为稳定的nginx包设置apt存储库,运行稳定包命令,如要使用主线nginx包,则允许主线nginx包命令:
稳定nginx命令
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
主线nginx包命令:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
设置存储库锁定,以便我们获取的包优与分发提供的包:
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
最后运行下面命令来安装nginx:
sudo apt update
sudo apt install nginx
nginx安装完成后,启动nginx服务:
sudo service nginx start
Ubuntu系统
安装依赖选项
sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring
导入nginx签名密钥,以便apt可以验证包的真实性。通过下面命令去获取密钥:
curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
验证下载的文件包是否包含正确的密钥:
gpg --dry-run --quiet --import --import-options import-show /usr/share/keyrings/nginx-archive-keyring.gpg
输出中应包含指纹 573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62 ,如下所示:
pub rsa2048 2011-08-19 [SC] [expires: 2024-06-14]
573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62
uid nginx signing key <signing-key@nginx.com>
如果输出的指纹并不是573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62,则将文件/usr/share/keyrings/nginx-archive-keyring.gpg删除掉。
需要为稳定的nginx包设置apt存储库,运行稳定包命令,如要使用主线nginx包,则允许主线nginx包命令:
稳定nginx包:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
主干nginx包:
echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] \
http://nginx.org/packages/mainline/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list
设置存储库锁定,以便我们获取的包优与分发提供的包:
echo -e "Package: *\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \
| sudo tee /etc/apt/preferences.d/99nginx
最后执行下面命令安装nginx:
sudo apt update
sudo apt install nginx
nginx安装完成后,启动nginx服务:
sudo service nginx start
结语
因作者英语和技术水平有限,有些翻译可能并不准确甚至错误,或者文中出现一些技术性相关错误,希望同道之士能谅解并提出宝贵意见,如有问题或者意见,请在评论区留言。