# 安装 [Nginx官网](https://nginx.org/) [官方安装文档](http://nginx.org/en/linux_packages.html) [Nginx中文文档](https://www.nginx.cn/doc/index.html) ## Centos|Rocky通过yum安装 1. 安装依赖 ``` yum install yum-utils ``` 1. 添加nginx源 ``` $ vim /etc/yum.repos.d/nginx.repo [nginx-stable] # 稳定版 name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 # 1表示开启,0表示关闭 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 # 1表示开启,0表示关闭 gpgkey=https://nginx.org/keys/nginx_signing.key module_hotfixes=true ``` > 注:稳定版和最新版,想安装哪个就把哪个的enabled=1,另一个的enabled=0 2. 安装 ``` yum install -y nginx ``` 3. 启动 ``` systemctl start nginx # 开机启动 systemctl enable nginx ``` ## ubuntu通过apt安装 1. 安装依赖 ``` sudo apt install curl gnupg2 ca-certificates lsb-release ubuntu-keyring ``` 2. 添加nginx的官方GPG密钥 ``` curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \ | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null ``` 3. 添加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 ``` 最新版: ``` 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 ``` 4. 设置仓库优先级,保证优先使用Nginx官方的源 ``` echo -e "Package: \*\nPin: origin nginx.org\nPin: release o=nginx\nPin-Priority: 900\n" \ | sudo tee /etc/apt/preferences.d/99nginx ``` 5. 安装nginx ``` sudo apt update sudo apt install nginx ``` 6. 启动 ``` sudo systemctl start nginx # 开机启动 sudo systemctl enable nginx ``` ## 源码安装 1. 下载源码包,并解压 ``` cd /usr/local/src wget https://nginx.org/download/nginx-1.23.1.tar.gz tar -zxvf nginx-1.23.1.tar.gz cd nginx-1.23.1 ``` 2. 安装依赖(除了依赖安装的不同,其他配置都相同) Rocky: ``` sudo yum install -y gcc make pcre-devel zlib-devel openssl-devel ``` Ubuntu: ``` sudo apt install -y gcc make libpcre++-dev libssl-dev zlib1g-dev ``` 3. 编译安装 ``` ./configure --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_realip_module \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-pcre \ --with-stream \ --with-stream_ssl_module \ --with-stream_realip_module make && make install ``` > 注:其他模块需要根据需要自行配置 查看依赖库 ``` ldd /usr/local/nginx/sbin/nginx ``` 4. 编辑服务管理内容 ``` $ sudo vim /lib/systemd/system/nginx.service # 写入如下内容 [Unit] Description=nginx - high performance web server Documentation=http://nginx.org/en/docs/ After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /usr/local/nginx/logs/nginx.pid)" ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /usr/local/nginx/logs/nginx.pid)" [Install] WantedBy=multi-user.target ``` 5. 加载服务,启动服务 ``` sudo systemctl daemon-reload sudo systemctl start nginx sudo systemctl enable nginx ``` 6. 创建软链接,方便全局调用 ``` sudo ln -s /usr/local/nginx/sbin/nginx /usr/sbin/nginx ```