下面是详细的“CentOS 7.6安装与Nginx的配置文件详解”攻略。
安装Nginx
安装Nginx前的准备
在安装Nginx之前需要检查是否有其它web服务器或应用程序监听了80端口,如果有需要先关闭它们,否则Nginx可能会启动失败。
systemctl stop httpd.service #停用Apache
安装Nginx
1、添加Nginx YUM源
CentOS和RHEL自带的YUM源中并没有Nginx,需添加第三方源。
vi /etc/yum.repos.d/nginx.repo
指定Nginx YUM源文件内容如下:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
保存并退出。
2、安装Nginx
在终端运行以下命令:
yum install nginx
3、启动Nginx
systemctl start nginx
4、验证Nginx是否安装成功
在浏览器中访问服务器IP地址,如果出现Nginx欢迎页面,则说明安装成功。
Nginx的配置文件详解
Nginx的配置文件位于 /etc/nginx/nginx.conf
,下面是基础配置文件的内容:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
Nginx配置文件解析
- 第 1 行:Nginx 运行的用户,一般为 nginx。
- 第 2 行:工作进程个数,auto 表示根据 CPU 数量自动判断。
- 第 3 行:错误日志存放路径。
- 第 4 行:Nginx 进程 ID 存放路径。
- 第 8 行:events 块,用于配置 Nginx 工作模式,如epoll,kqueue等。
- 第 10~27 行:http 块,用于配置 HTTP 服务相关的模块。
- 第 12 行:包含 mime.types 文件,根据客户端(浏览器)请求文件扩展名匹配 MIME 类型。
- 第 13 行:默认的 MIME 类型,当无法从 mime.types 文件中匹配到扩展名时使用该类型。application/octet-stream 是默认的二进制类型。
- 第 15~16 行:配置访问日志格式,以及日志放在哪里,文件名为 access.log。
- 第 18 行:开启 sendfile,如果是在文件服务器上应用 Nginx,则应开启该选项。
- 第 21 行:保持长连接的时间。
- 第 24 行:可选,启用 gzip 压缩可以提高页面的传输速度,但会占用更多的 CPU。
- 第 26 行:通过 include 引入 conf.d 文件夹下的所有 conf 文件,所有的 Server 块配置文件都可以放在这里。
配置Nginx的虚拟主机
当我们需要为一个 Nginx 搭建多个域名时,就需要使用虚拟主机。
假设我们需要搭建两个网站 site1.com 和 site2.com,都指向同一个服务器 IP,如何配置?
以下是示例的配置文件内容:
server {
listen 80;
server_name site1.com www.site1.com;
location / {
root /usr/share/nginx/html/site1;
index index.html index.htm;
}
}
server {
listen 80;
server_name site2.com www.site2.com;
location / {
root /usr/share/nginx/html/site2;
index index.html index.htm;
}
}
解析:
- 第 1 行是一个 server 块的开始,代表着一个 server 块的开始。
- 第 2 行为此监听端口,当请求80端口时,就会进入这个块处理。
- 第 3 行只有一个 server_name,代表这是这个块要处理的域名。
- 第 4~7 行为 location,在这里,只有访问根路径 / 时,才使用这个块中的 root 和 index 指令。root 表示对应的目录,index 表示默认的文件名。
在这个示例中,我们指定了两个 server 块,每个 server 块代表了一个网站。其中 listen 表示监听的端口号,server_name 表示域名,location 里负责指定网站对应的文件目录和默认访问的文件。一般情况下,location 会根据访问路径的不同,指定不同的文件目录和默认访问的文件。
以上就是“CentOS 7.6安装与Nginx的配置文件详解”的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:CentOS 7.6安装与Nginx的配置文件详解 - Python技术站