CentOS安装Nginx

本文详细介绍了如何下载和安装Nginx1.24.0版本,包括所需的环境(GCC、PCRE、Zlib、OpenSSL),配置选项,以及启动、关闭、重启、刷新配置和调整防火墙设置的步骤。

安装Nginx

1.下载

官方地址:nginx: download
官网提供三种版本:
Nginx官网提供了三个类型的版本
Mainline version:Mainline 是 Nginx 目前主力在做的版本,可以说是开发版
Stable version:最新稳定版,生产环境上建议使用的版本
Legacy versions:遗留的老版本的稳定版

本次下载:nginx-1.24.0

wget http://nginx.org/download/nginx-1.24.0.tar.gz

2.安装要求的环境

1.需要安装gcc环境
# yum install gcc-c++
2.第三方的开发包
1 PERE

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。
nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库

# yum install -y pcre pcre-devel
2 zlib

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

# yum install -y zlib zlib-devel
3 openssl

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

# yum install -y openssl openssl-devel

3.nginx安装过程**

1.解压到/usr/local
tar -xvf nginx-1.24.0.tar.gz -C /usr/local
2.使用cofigure命令创建一个makeFile文件

执行下面的命令的时候,一定要进入到nginx-1.24.0目录里面去。

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-file-aio \
--with-http_realip_module

如果没有makeFile文件,编译的时候会报错,如下:

“\” 表示命令还没有输入完,换行的意思。

--prefix=/usr/local/nginx  表示软件安装到/usr/local/nginx下面。
这个make install 的时候就不用在指定安装路径。
执行完成后查看目录里面已经多了一个Makefile文件

![[Pasted image 20230825142655.png]]
注意:启动nginx之前,上边将临时文件目录指定为/var/temp/nginx,

需要在/var下创建temp及nginx目
3.创建目录/var/temp/nginx/**
mkdir /var/temp/nginx -p

-p 表示级联创建的意思

4.进入nginx-1.24.0里面执行make命令进行编译
make
5.进入nginx-1.24.0里面执行make install 命令进行安装
make install

编译完的二进制文件位置:/usr/local/nginx

6.进入安装位置/usr/local/nginx查看目录结构
[root@bogon]/usr/local/nginx# ll           
 总用量 4                                     
 drwxr-xr-x. 2 root root 4096 8月  25 11:23 conf                                        
 drwxr-xr-x. 2 root root   40 8月  25 11:23 html                                       
 drwxr-xr-x. 2 root root   19 8月  25 11:23 sbin

其中html是里面首页html文件。conf里面是配置文件。sbin里面只执行文件.

4.启动nginx

进入sbin目录,执行命令./nginx

./nginx

5.查看nginx是否启动**

ps -aux | grep nginx

![[Pasted image 20230825141546.png]]
ps命令用于报告当前系统的进程状态。
-a:显示所有终端机下执行的程序,除了阶段作业领导者之外。
a:显示现行终端机下的所有程序,包括其他用户的程序。
u:以用户为主的格式来显示程序状况。
x:显示所有程序,不以终端机来区分。

6.关闭nginx**

./nginx -s stop
或者
./nginx -s quit

7.重启nginx**

先关闭,然后启动

8.刷新配置文件**

./nginx -s reload

9.关闭防火墙,开启远程访问**

首先需要关闭防火墙:默认端口是80
方法一:永久开放80端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /etc/rc.d/init.d/iptables save
方法二:临时关闭系统防火墙
service iptables stop
方法三:永久关闭修改配置开机不启动防火墙
chkconfig iptables off

10.访问nginx

在这里插入图片描述

CentOS 系统上安装 Nginx 服务器可以通过多种方式进行,包括使用系统的包管理器(如 `yum` 或 `dnf`)进行安装,或者从源代码编译安装。以下是适用于不同 CentOS 版本的安装方法: ### 使用 `yum` 安装 Nginx(适用于 CentOS 7 和 CentOS 6) 1. **更新系统软件包** 在安装之前,确保系统上的软件包是最新的。 ```bash sudo yum update ``` 2. **安装 EPEL 仓库** Nginx 可能在默认的 CentOS 仓库中不可用,因此需要先安装 EPEL 仓库。 ```bash sudo yum install epel-release ``` 3. **安装 Nginx** 安装完成后,可以使用以下命令安装 Nginx。 ```bash sudo yum install nginx ``` 4. **启动 Nginx 服务** 安装完成后,启动 Nginx 服务并设置为开机自启。 ```bash sudo systemctl start nginx sudo systemctl enable nginx ``` 5. **验证安装** 安装并启动 Nginx 后,可以通过访问服务器的 IP 地址来验证是否成功。你将看到默认的 Nginx 欢迎页面[^2]。 ### 使用 `dnf` 安装 Nginx(适用于 CentOS 8) 1. **更新系统软件包** CentOS 8 使用 `dnf` 作为默认的包管理器,首先确保系统软件包是最新的。 ```bash sudo dnf update ``` 2. **安装 EPEL 仓库** 与 CentOS 7 类似,CentOS 8 也需要安装 EPEL 仓库来获取 Nginx。 ```bash sudo dnf install epel-release ``` 3. **安装 Nginx** 安装完成后,使用以下命令安装 Nginx。 ```bash sudo dnf install nginx ``` 4. **启动 Nginx 服务** 安装完成后,启动 Nginx 服务并设置为开机自启。 ```bash sudo systemctl start nginx sudo systemctl enable nginx ``` 5. **验证安装** 通过访问服务器的 IP 地址来验证是否成功安装 Nginx,你将看到默认的 Nginx 欢迎页面[^2]。 ### 从源代码编译安装 Nginx(适用于 CentOS 8) 如果你需要特定版本的 Nginx 或者希望自定义编译选项,可以从源代码编译安装1. **安装依赖项** 在编译 Nginx 之前,需要安装一些依赖项。 ```bash sudo dnf install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel ``` 2. **下载 Nginx 源代码** 从 [Nginx 官方网站](https://nginx.org/download/) 下载所需的版本。 ```bash wget https://nginx.org/download/nginx-1.20.1.tar.gz tar -zxvf nginx-1.20.1.tar.gz cd nginx-1.20.1 ``` 3. **配置编译选项** 使用 `./configure` 命令配置编译选项。 ```bash ./configure --prefix=/usr/local/nginx --with-http_ssl_module ``` 4. **编译并安装** 使用 `make` 和 `make install` 命令进行编译和安装。 ```bash make sudo make install ``` 5. **创建 systemd 服务文件** 为了方便管理 Nginx 服务,可以创建一个 systemd 服务文件。 ```bash sudo nano /etc/systemd/system/nginx.service ``` 添加以下内容: ```ini [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=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target ``` 6. **重新加载 systemd 配置** 创建完服务文件后,重新加载 systemd 配置。 ```bash sudo systemctl daemon-reexec ``` 7. **启动并启用 Nginx 服务** 启动 Nginx 服务并设置为开机自启。 ```bash sudo systemctl start nginx sudo systemctl enable nginx ``` ### 配置防火墙(适用于 CentOS 7 和 CentOS 8) 如果你的服务器启用了防火墙(如 `firewalld`),需要允许 HTTP 和 HTTPS 流量。 ```bash sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload ``` ### 常用命令 - **启动 Nginx** ```bash sudo systemctl start nginx ``` - **停止 Nginx** ```bash sudo systemctl stop nginx ``` - **重启 Nginx** ```bash sudo systemctl restart nginx ``` - **查看 Nginx 状态** ```bash sudo systemctl status nginx ``` - **重新加载配置文件** ```bash sudo systemctl reload nginx ``` 通过以上步骤,你可以在 CentOS 系统上成功安装并配置 Nginx 服务器。根据你的需求选择适合的方法进行安装和配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值