linux centos 安装源码nginx,开放端口

发布于:2025-03-11 ⋅ 阅读:(18) ⋅ 点赞:(0)

1. 安装必要的依赖

在编译 Nginx 源码之前,需要安装一些必要的依赖包,这些依赖包包含了编译过程中所需的工具和库。以 CentOS 系统为例,执行以下命令安装:

sudo yum install -y gcc gcc-c++ make pcre-devel zlib-devel openssl-devel

gcc 和 gcc-c++:C 和 C++ 编译器,用于编译 Nginx 源码。
make:构建工具,用于执行 Makefile 文件中的编译指令。
pcre-devel:Perl 兼容正则表达式库的开发包,Nginx 使用它来支持正则表达式匹配。
zlib-devel:Zlib 压缩库的开发包,用于支持 Nginx 的压缩功能。
openssl-devel:OpenSSL 库的开发包,用于支持 Nginx 的 SSL/TLS 功能。

2.下载 Nginx 源码

mkdir -p ~/nginx-src && cd ~/nginx-src
wget https://nginx.org/download/nginx-1.24.0.tar.gz

3. 解压源码包

下载完成后,使用 tar 命令解压源码包:

tar -zxvf nginx-1.24.0.tar.gz

解压后,进入解压后的目录:

cd nginx-1.24.0

4. 配置编译选项

在编译之前,需要对 Nginx 进行配置,指定编译参数和安装路径等信息。执行以下命令进行配置:

./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_gzip_static_module

–prefix=/usr/local/nginx:指定 Nginx 的安装路径为 /usr/local/nginx。
–with-http_ssl_module:启用 SSL/TLS 模块,支持 HTTPS 协议。
–with-http_gzip_static_module:启用静态文件压缩模块,提高网站性能。

5. 编译和安装

配置完成后,使用 make 命令进行编译:

make

编译完成后,使用 make install 命令进行安装:

sudo make install

6.启动 Nginx

安装完成后,进入 Nginx 可执行文件所在目录,并启动 Nginx:

cd /usr/local/nginx/sbin
./nginx

7. 验证 Nginx 安装

可以通过以下几种方式验证 Nginx 是否安装成功并正常运行:

检查服务状态
使用 ps 命令查看 Nginx 进程是否正在运行:

ps -ef | grep nginx

如果输出中包含 nginx: master process 和 nginx: worker process,则说明 Nginx 正在运行。

访问 Nginx 默认页面

打开浏览器,在地址栏中输入服务器的 IP 地址或域名。如果看到 Nginx 的默认欢迎页面,则说明 Nginx 安装和配置成功。

8. 配置系统服务(可选)

为了方便管理 Nginx 服务,可以创建一个系统服务文件。创建并编辑 /etc/systemd/system/nginx.service 文件:

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
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

保存并退出文件,然后重新加载系统服务配置:

sudo systemctl daemon-reload

现在,你可以使用 systemctl 命令来管理 Nginx 服务了,例如启动、停止、重启和设置开机自启:

sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
sudo systemctl enable nginx

开放端口(5432 6379):查询指定端口是否已开 firewall-cmd --query-port=5432/tcp
提示 yes,表示开启;no表示未开启。
添加指定需要开放的端口:firewall-cmd --add-port=123/tcp --permanent
重载入添加的端口:firewall-cmd --reload