Centos7安装Nginx或OpenResty1

preview
需积分: 0 1 下载量 140 浏览量 更新于2022-08-03 收藏 154KB PDF 举报
在本文中,我们将深入探讨如何在 CentOS7 系统上安装 Nginx 或 OpenResty。我们先关注 Nginx 的安装过程,因为 OpenResty 是基于 Nginx 的扩展,所以 Nginx 的安装是基础。 一、安装 Nginx 的依赖环境 在 CentOS7 上安装 Nginx 需要一些必要的编译工具和库。这些依赖包括: 1. `gcc-c++` 和 `gcc`:它们是 C++ 编译器,用于编译 Nginx。 2. `pcre` 和 `pcre-devel`:PCRE(Perl Compatible Regular Expressions)库,Nginx 的 HTTP 模块使用它来解析正则表达式。 3. `zlib` 和 `zlib-devel`:ZLIB 库,用于 HTTP 内容的压缩和解压缩。 4. `openssl` 和 `openssl-devel`:用于 SSL/TLS 支持,提供安全的 HTTPS 连接。 安装依赖的命令如下: ```bash sudo yum install gcc-c++ gcc sudo yum install pcre pcre-devel sudo yum install zlib zlib-devel sudo yum install openssl openssl-devel ``` 二、下载与编译 Nginx 1. 访问 Nginx 的官方下载页面(https://nginx.org/en/download.html)选择合适的版本,然后使用 `wget` 下载源代码压缩包。 2. 解压缩下载的文件: ```bash tar -xf nginx-1.18.xx.tar.gz ``` 3. 进入解压后的目录,并配置编译选项: ```bash cd nginx-1.18.xx ./configure --prefix=/usr/local/nginx \ --with-http_stub_status_module \ --with-http_ssl_module \ --with-http_gzip_static_module \ --with-stream \ --with-stream_ssl_module ``` 4. 编译并安装 Nginx: ```bash make && sudo make install ``` 5. 使用 `whereis nginx` 查找 Nginx 程序的安装位置,通常位于 `/usr/local/nginx/sbin/` 目录下。 三、Nginx 的启动、重启与配置管理 1. 检查配置文件语法正确性: ```bash ./nginx -t ``` 2. 启动 Nginx: ```bash ./nginx ``` 3. 停止 Nginx(优雅地关闭,等待所有请求处理完毕): ```bash ./nginx -s quit ``` 4. 强制停止 Nginx: ```bash ./nginx -s stop ``` 5. 重新加载配置文件(不中断服务): ```bash ./nginx -s reload ``` 四、设置 Nginx 开机启动 为了使 Nginx 在系统启动时自动运行,有两种方法: 1. 将 Nginx 启动命令添加到 `/etc/rc.local` 文件中,然后赋予该文件执行权限。 2. 创建一个名为 `nginx.service` 的系统服务文件,将其放置在 `/etc/systemd/system/` 目录下,然后使用 `systemctl` 命令管理 Nginx 服务。 例如,`nginx.service` 文件内容如下: ```ini [Unit] Description=nginx web server After=network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/var/run/nginx.pid ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -s TERM $MAINPID [Install] WantedBy=multi-user.target ``` 创建服务文件后,执行以下命令: ```bash sudo cp nginx.service /etc/systemd/system/nginx.service sudo systemctl enable nginx ``` 现在,Nginx 将在系统启动时自动启动,并可以通过 `systemctl start/restart/reload nginx` 命令进行管理。 总结,本文详细介绍了如何在 CentOS7 系统上安装 Nginx,包括安装依赖、编译安装、启动管理以及设置开机自启。理解并掌握这些步骤对于任何希望在 CentOS7 上部署 Nginx 的开发者都是至关重要的。对于 OpenResty 的安装,只需在 Nginx 的基础上额外安装 OpenResty 的扩展库,具体操作可参考 OpenResty 官方文档。