CentOS 7 源码部署 Nginx

文章目录

      • [1. 概述](#1. 概述)
      • [2. 部署示例](#2. 部署示例)
        • [2.1 下载和解压 Nginx 源码](#2.1 下载和解压 Nginx 源码)
        • [2.2 安装编译依赖包](#2.2 安装编译依赖包)
        • [2.3 编译和安装](#2.3 编译和安装)
        • [2.4 启动 Nginx](#2.4 启动 Nginx)
        • [2.5 配置防火墙](#2.5 配置防火墙)
        • [2.6 设置 Nginx 为系统服务](#2.6 设置 Nginx 为系统服务)
        • [2.7 配置访问](#2.7 配置访问)
      • [3. 扩展知识](#3. 扩展知识)

1. 概述

Nginx 是一款高性能的开源 Web 服务器软件,广泛应用于互联网领域。本篇博客将介绍如何在 CentOS 7 系统上通过源码编译的方式安装和配置 Nginx。

2. 部署示例

以下是在 CentOS 7 上源码部署 Nginx 的步骤示例:

2.1 下载和解压 Nginx 源码

首先,将下载好的 Nginx 源码包移动到 /usr/local/src/ 目录,并解压:

下载nginx的源码包

bash 复制代码
wget https://nginx.org/download/nginx-1.21.6.tar.gz

解压

bash 复制代码
mv nginx-1.21.6.tar.gz /usr/local/src/ && cd /usr/local/src/
tar -zxvf nginx-1.21.6.tar.gz && cd nginx-1.21.6
2.2 安装编译依赖包

安装编译 Nginx 所需的依赖包,包括 gcc、pcre 和 zlib:

bash 复制代码
yum install -y gcc
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
2.3 编译和安装

使用以下命令进行编译和安装 Nginx:

bash 复制代码
./configure --prefix=/usr/local/nginx
make && make install
2.4 启动 Nginx

进入 Nginx 安装目录,并启动 Nginx 服务:

bash 复制代码
cd /usr/local/nginx/sbin/
./nginx    # 启动

停止重启命令

bash 复制代码
./nginx -s stop    #快速停止
./nginx -s quit    #优雅关闭(退出前,完成已经接受的连接请求)
./nginx -s reload  #重新加载配置
2.5 配置防火墙

如果需要通过 HTTP 访问 Nginx,默认使用的是 80 端口。需要将该端口放行:

bash 复制代码
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8088/tcp --permanent
firewall-cmd --reload
2.6 设置 Nginx 为系统服务

创建 Nginx 的服务脚本 /usr/lib/systemd/system/nginx.service,并设置开机自启动:

bash 复制代码
vim /usr/lib/systemd/system/nginx.service

在编辑器中输入以下内容:

plaintext 复制代码
[Unit]
Description=nginx - web server
After=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 -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

保存并退出编辑器。

先停止nginx

./nginx -s stop    #快速停止

重新加载系统服务,并启动 Nginx:

bash 复制代码
systemctl daemon-reload			#重载nginx配置
systemctl start nginx.service	#启动
systemctl enable nginx.service	#开机自启动

重启与停止

bash 复制代码
systemctl restart nginx.service		#重启
systemctl stop nginx.service		#停止
2.7 配置访问

创建目录,新增html文件

bash 复制代码
mkdir -p /www/vod


#写入文件内容
cat > /www/vod/index.html <<EOF
this is josh  vod_web
EOF

编辑nginx配置文件

bash 复制代码
vim /usr/local/nginx/conf/nginx.conf

修改server模块如下配置

bash 复制代码
    server {
        listen       8088;	#监听端口
        server_name  localhost;


        location / {

             root   /www/vod;	#html路径
             index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

访问nginx

如果出现打不开,请关闭selinux,在尝试。

3. 扩展知识

在实践案例中,我们了解了如何通过源码编译的方式在 CentOS 7 上安装和配置 Nginx。除了上述示例中的步骤,还有一些其他值得注意的知识点:

  • Nginx 配置文件 :Nginx 的主要配置文件位于 /usr/local/nginx/conf/nginx.conf,你可以根据需要进行修改和定制。
  • 虚拟主机配置:Nginx 支持虚拟主机,可以在配置文件中添加多个 server 块来配置不同的虚拟主机。
  • HTTPS 配置:如果需要启用 HTTPS 支持,可以在 Nginx 配置文件中配置 SSL 证书和密钥,并将监听端口改为 443。
  • 性能优化:Nginx 以其高性能而闻名,但在实际应用中,还可以进行一些性能优化的配置,例如启用缓存、调整工作进程数等。

总之,通过源码编译安装 Nginx 可以获得更高的灵活性和定制性。Nginx 是一个功能强大的 Web 服务器,适用于各种规模的网站和应用场景。

结束语:

希望本篇博客能够帮助你在 CentOS 7 上成功部署 Nginx,并为你的网站或应用提供高性能的服务。如果你对 Nginx 还有其他问题或需要进一步的帮助,请随时提问。感谢阅读本篇博客!

参考资料:

相关推荐
‍理我44 分钟前
Linux系统编程(基础指令)上
linux·服务器
-杀意感知-1 小时前
Linux 开发工具(vim、gcc/g++、make/Makefile)+【小程序:进度条】-- 详解
linux
周湘zx1 小时前
k8s中的存储
linux·运维·云原生·容器·kubernetes
_平凡之路_2 小时前
解决ubuntu22.04 gnome-terminal 无法启动的问题
linux·运维·python
凯子坚持 c2 小时前
0基础带你入门Linux之使用
linux·运维·服务器
EterNity_TiMe_2 小时前
【Linux基础IO】深入Linux文件描述符与重定向:解锁高效IO操作的秘密
linux·运维·服务器·学习·性能优化·学习方法
python-码博士2 小时前
Rosetta 一:手把手教你用Linux安装Rosetta(全网最简洁)
linux·运维·服务器
神秘的土鸡3 小时前
Linux中Docker容器构建MariaDB数据库教程
linux·运维·服务器·数据库·docker·mariadb
汪公子4923 小时前
使用k8s搭建mariadb+nginx+wordpress
数据库·nginx·mariadb
路溪非溪3 小时前
Linux内核启动流程
linux·运维·服务器