centos 7 NGINX配置
在互联网的浩瀚海洋里,服务器就像是一座座灯塔,为我们的网络世界照亮前行的路,而 Nginx,作为一款高性能的 HTTP 服务器和反向代理服务器,在 CentOS 7 这个稳定的操作系统上,能发挥出强大的作用,咱就来唠唠 CentOS 7 下 Nginx 的配置,让新手小白也能轻松上手。

先问大家一个问题哈,为啥我们要在 CentOS 7 上配置 Nginx 呢?这是因为 CentOS 7 以其稳定性、可靠性和安全性著称,为企业级应用提供了坚实的基础,而 Nginx 呢,它处理高并发的能力简直绝了,能快速响应大量的用户请求,无论是搭建网站、部署应用还是做负载均衡,都表现出色,就好比是一个高效的交通枢纽,有条不紊地疏导着网络流量。
一、安装 Nginx
在开始配置之前,得先把 Nginx 安装在 CentOS 7 上,这就像盖房子得先打地基一样重要,咱可以通过 Yum 包管理器来安装,这可是个方便又高效的工具,打开终端,输入以下命令:
- sudo yum install epelrelease
- sudo yum install nginx
看到这里,有的小伙伴可能会问:“为啥要安装 epelrelease 呢?”这是因为 EPEL(Extra Packages for Enterprise Linux)是一个为 RHEL(Red Hat Enterprise Linux)及衍生版本提供的额外软件包库,里面包含了很多有用的软件,Nginx 就是其中之一,安装完 epelrelease 后,就能顺利安装 Nginx 啦。
安装完成后,咱们可以启动 Nginx 服务,让它开始工作,输入命令:
- sudo systemctl start nginx
再设置开机自启,这样系统重启后 Nginx 也能自动运行:

- sudo systemctl enable nginx
二、配置文件结构
Nginx 的配置文件就像是它的“大脑”,掌控着它的一举一动,主要的配置文件位于/etc/nginx/nginx.conf
,这里面定义了一些全局性的设置,比如工作模式、日志路径等,除了这个主文件,还有几个重要的目录和文件需要了解。
/etc/nginx/conf.d/
这个目录存放的是站点配置文件,每个站点可以有一个独立的配置文件,方便管理和修改,比如说,你要搭建多个网站,就可以在这里分别为它们创建配置文件。
/etc/nginx/default.d/
目录用于存放默认的站点配置片段,这些片段会被主配置文件或其他站点配置文件引用。
还有一个/usr/share/nginx/html/
目录,这里面存放的是网站的根目录文件,也就是我们通过浏览器访问网站时显示的内容。
三、配置虚拟主机

说到配置虚拟主机,这可是个很实用的功能,啥是虚拟主机呢?就是在一个服务器上可以运行多个网站,就好比你买了一栋大房子,可以把它隔成好几个房间,每个房间都可以住不同的“住户”(网站)。
假设我们要配置两个虚拟主机,一个域名是example1.com
,另一个是example2.com
,我们可以在/etc/nginx/conf.d/
目录下创建两个配置文件,分别是example1.com.conf
和example2.com.conf
。
在example1.com.conf
文件中,内容可能像这样:
- server {
- listen 80;
- server_name example1.com;
- location / {
- root /usr/share/nginx/html/example1;
- index index.html index.htm;
- }
- }
这里的listen 80;
表示监听 80 端口,这是 HTTP 服务的默认端口。server_name example1.com;
指定了这个虚拟主机对应的域名。location /
块中,root
指定了网站的根目录,index
指定了默认的首页文件。
同样的道理,在example2.com.conf
文件中进行类似的配置,配置完成后,记得重启 Nginx 使配置生效:
- sudo systemctl restart nginx
当你在浏览器中输入example1.com
或example2.com
,就能看到对应网站上的内容啦。
四、配置反向代理
反向代理也是 Nginx 的一个强大功能,它能把客户端的请求转发到后端的服务器上,然后再把后端服务器的响应返回给客户端,这有啥用呢?比如说,你有多个后端服务器处理业务逻辑,通过 Nginx 做反向代理,就可以把请求均匀地分配到这些服务器上,提高系统的处理能力和可靠性。
举个例子,假设我们有两台后端服务器,IP 地址分别是192.168.1.101
和192.168.1.102
,端口都是 8080,我们可以在 Nginx 中这样配置反向代理:
在nginx.conf
文件中,添加一个 upstream 块:
- upstream backend_servers {
- server 192.168.1.101:8080;
- server 192.168.1.102:8080;
- }
然后在server
块中配置代理:
- server {
- listen 80;
- server_name proxy.example.com;
- location / {
- proxy_pass http://backend_servers;
- proxy_set_header Host $host;
- proxy_set_header XRealIP $remote_addr;
- }
- }
这样,当有请求发到proxy.example.com
时,Nginx 就会把请求转发到backend_servers
定义的后端服务器上。
五、配置 SSL 证书
在当今网络安全意识日益增强的时代,给网站配置 SSL 证书是必不可少的,SSL(Secure Sockets Layer)证书能让数据传输在网络中加密,保护用户的隐私和数据安全,就好比给你的网站上了一道“安全锁”。
你需要从权威的证书颁发机构(CA)获取 SSL 证书,这个过程可能需要一些验证和手续,但为了网站的安全,这些都是值得的,拿到证书后,通常是两个文件,一个是证书文件(.crt
),一个是私钥文件(.key
)。
假设证书文件是example.crt
,私钥文件是example.key
,我们可以在 Nginx 中这样配置 SSL:
在nginx.conf
文件中,修改对应的server
块:
- server {
- listen 443 ssl;
- server_name example.com;
- ssl_certificate /path/to/example.crt;
- ssl_certificate_key /path/to/example.key;
- location / {
- root /usr/share/nginx/html;
- index index.html index.htm;
- }
- }
这里的listen 443 ssl;
表示监听 443 端口,并启用 SSL 加密。ssl_certificate
和ssl_certificate_key
分别指定了证书文件和私钥文件的路径,配置完成后,重启 Nginx,然后访问网站时,就会看到浏览器地址栏变成了“https”,前面还有一个小锁图标,这就表示 SSL 配置成功啦。
六、优化 Nginx 性能
为了让 Nginx 发挥出最佳性能,我们还可以进行一些优化配置,比如说调整工作进程数,这个数值一般可以根据服务器的 CPU 核心数来设置,如果服务器有 4 核 CPU,我们可以这样设置:
在nginx.conf
文件中,找到worker_processes
指令,将其值设置为 4:
- worker_processes 4;
还可以调整连接数限制,避免过多的连接导致服务器性能下降,比如设置最大连接数为 1024:
- events {
- worker_connections 1024;
- }
开启 gzip 压缩也能提高网站的加载速度,gzip 能对传输的数据进行压缩,减少网络带宽的占用,在nginx.conf
中启用 gzip:
- http {
- ...
- gzip on;
- gzip_types text/plain application/xml text/css application/javascript;
- gzip_min_length 1000;
- ...
- }
这样,文本类型的数据就会被压缩后再传输给客户端。
CentOS 7 下的 Nginx 配置虽然涉及多个方面,但只要我们一步一步来,理解每个配置项的作用,就能轻松掌握,无论是搭建简单的个人网站,还是构建复杂的企业级应用服务器,Nginx 都能成为我们的得力助手,希望今天的分享能帮助到各位新手小白,让大家在服务器配置的道路上越走越顺。