Linux下Nginx安装
准备工作
在Linux系统下安装Nginx前,需确保系统环境满足基本要求,并完成必要的准备工作,推荐使用CentOS或Ubuntu等主流发行版,本文以CentOS 7为例进行说明。

-
更新系统包
执行以下命令更新系统已安装的软件包,确保环境最新:sudo yum update -y
-
安装编译工具
Nginx需通过源码编译安装,需提前安装gcc、make等编译工具:sudo yum install -y gcc-c++ make pcre pcre-devel zlib zlib-devel openssl openssl-devel
PCRE库用于重写规则,zlib库用于gzip压缩,OpenSSL库支持HTTPS协议。
-
创建Nginx用户
为提升安全性,建议创建专用用户运行Nginx:sudo useradd -r -s /sbin/nologin nginx
下载Nginx源码
Nginx官方提供了稳定的源码包,可通过wget命令下载,访问Nginx官网获取最新版本链接,以下以1.25.3为例:
cd /usr/local/src sudo wget http://nginx.org/download/nginx-1.25.3.tar.gz sudo tar -zxvf nginx-1.25.3.tar.gz cd nginx-1.25.3
配置编译选项
进入源码目录后,通过./configure脚本配置编译参数,可根据实际需求启用或禁用模块,以下为常用配置选项:
sudo ./configure \ --prefix=/usr/local/nginx \ --user=nginx \ --group=nginx \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_gzip_static_module \ --with-http_stub_status_module \ --with-pcre \ --with-zlib \ --with-openssl
参数说明:
--prefix:指定安装路径,默认为/usr/local/nginx。--user/--group:运行Nginx的用户和组。--with-http_ssl_module:支持HTTPS协议。--with-http_stub_status_module:提供状态监控页面。
配置完成后,若无报错,会显示“Configuration summary”信息,列出已启用的模块和路径。

编译与安装
执行make命令编译源码,然后通过make install完成安装:
sudo make -j$(nproc) # 使用多核编译加速 sudo make install
编译过程可能持续数分钟,具体时间取决于服务器性能,安装完成后,Nginx文件将位于/usr/local/nginx目录下,包含以下主要目录:
conf/:配置文件目录,主配置文件为nginx.conf。html/:默认网站根目录。logs/:日志文件目录。sbin/:Nginx主程序文件nginx。
配置服务与启动
为方便管理Nginx服务,可将其设置为系统服务。
-
创建systemd服务文件
创建/usr/lib/systemd/system/nginx.service如下:[Unit] Description=Nginx Web Server After=network.target [Service] Type=forking User=nginx Group=nginx ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop PrivateTmp=true [Install] WantedBy=multi-user.target
-
启动并设置开机自启
执行以下命令启动Nginx并设置为开机自启:sudo systemctl daemon-reload sudo systemctl start nginx sudo systemctl enable nginx
-
检查服务状态
通过以下命令确认Nginx是否正常运行:sudo systemctl status nginx
验证安装与配置测试
-
访问默认页面
在浏览器中输入服务器IP地址(如http://192.168.1.100),若显示“Welcome to nginx!”页面,说明安装成功。 -
测试配置文件语法
修改配置文件后,可通过以下命令检查语法是否正确:
sudo /usr/local/nginx/sbin/nginx -t
若返回“syntax is ok”和“test is successful”,则配置正确。
-
查看日志
Nginx日志默认存放于/usr/local/nginx/logs/目录,包括access.log(访问日志)和error.log(错误日志),可通过以下命令实时查看:sudo tail -f /usr/local/nginx/logs/access.log
常见问题与解决
-
编译报错:缺少依赖库
若提示“error: C compiler cc is not found”,需安装gcc:sudo yum install -y gcc。 -
启动失败:端口被占用
默认80端口被占用时,修改nginx.conf中的listen指令,或停止占用端口的进程:sudo lsof -i :80 sudo kill -9 <PID>
-
权限问题
若提示“permission denied”,确保运行用户对安装目录有读写权限:sudo chown -R nginx:nginx /usr/local/nginx
通过以上步骤,已成功在Linux系统下完成Nginx的编译安装与基础配置,Nginx作为高性能Web服务器,其灵活的模块化设计和丰富的功能可满足多样化需求,后续可根据实际业务场景,通过修改配置文件优化性能、配置虚拟主机、设置反向代理等,定期检查日志和更新版本,有助于保障服务的稳定性和安全性。



















