Ubuntu系统安装Nginx的详细步骤
在安装Nginx前,需确保系统已联网且具备sudo权限(或root用户身份)。建议先更新系统软件包列表,避免因包版本冲突导致安装失败。
APT是Ubuntu默认的包管理工具,安装过程简单且能自动解决依赖问题,是最常用的安装方式。
打开终端,执行以下命令同步系统与软件源的最新信息:
sudo apt update
输入以下命令安装Nginx及关联组件(如HTTP模块、邮件模块等):
sudo apt install nginx
安装过程中会提示“是否继续?”,输入Y并按回车键确认,等待安装完成。
安装完成后,通过以下命令启动Nginx:
sudo systemctl start nginx
若需让Nginx在系统启动时自动运行(推荐),执行:
sudo systemctl enable nginx
sudo systemctl status nginx,若输出显示“active (running)”,则表示服务已成功启动。http://192.168.1.100),若看到Nginx的默认欢迎页面(包含“Welcome to nginx!”字样),则说明安装成功。若需要自定义Nginx模块(如添加HTTP/2支持、第三方模块)或使用特定版本,可选择源码编译安装。这种方式需手动管理依赖和配置,步骤较复杂。
编译Nginx需要GCC编译器、PCRE库(处理正则表达式)、zlib库(压缩)、OpenSSL库(SSL/TLS支持)等,执行以下命令安装:
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev openssl libssl-dev
访问Nginx官方网站获取最新稳定版链接(如nginx-1.25.3.tar.gz),然后执行:
cd /usr/local/src # 进入源码存放目录
sudo wget https://nginx.org/download/nginx-1.25.3.tar.gz # 下载源码包(替换为最新版本)
sudo tar -zxvf nginx-1.25.3.tar.gz # 解压
cd nginx-1.25.3 # 进入解压后的目录
运行./configure脚本指定安装路径和所需模块(以下示例启用SSL和状态监控模块):
sudo ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module
常用选项说明:
--prefix:指定Nginx安装目录(默认为/usr/local/nginx);--with-http_ssl_module:启用SSL/TLS支持(用于HTTPS);--with-http_stub_status_module:启用状态监控模块(查看连接数、请求数等)。执行以下命令编译源码(耗时取决于服务器性能),然后安装到指定目录:
sudo make # 编译
sudo make install # 安装
sbin目录,执行sudo ./nginx;sudo ./nginx -s stop(强制停止)或sudo ./nginx -s quit(优雅停止,等待请求完成);sudo ./nginx -s reload使更改生效;sudo ./nginx -t(无错误则显示“syntax is ok”)。为方便通过systemctl管理源码安装的Nginx,可创建服务文件:
sudo nano /etc/systemd/system/nginx.service
粘贴以下内容(根据实际安装路径调整):
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/local/nginx/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/local/nginx/sbin/nginx -g 'daemon on; master_process on;' -s reload
ExecStop=/bin/kill -s TERM $MAINPID
[Install]
WantedBy=multi-user.target
保存后执行以下命令激活服务:
sudo systemctl daemon-reload # 重新加载Systemd配置
sudo systemctl start nginx # 启动服务
sudo systemctl enable nginx # 设置开机自启
/usr/local/nginx/sbin/nginx -v;/etc/nginx/sites-available/default(APT安装)或/usr/local/nginx/conf/nginx.conf(源码安装),调整root指向的网站目录(如/var/www/html)和index文件;sudo ufw allow 'Nginx Full'
sudo ufw enable # 开启防火墙(若未开启)
sudo apt install certbot python3-certbot-nginx # 安装Certbot
sudo certbot --nginx -d yourdomain.com # 替换为你的域名
按提示完成域名验证,Certbot会自动配置Nginx的SSL证书。