CentOS 7.6安装与Nginx的配置文件详解

下面是详细的“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技术站

(0)
上一篇 2023年6月25日
下一篇 2023年6月25日

相关文章

  • tkinter控件详细介绍

    以下是“tkinter控件详细介绍”的完整攻略: tkinter控件详细介绍 Tkinter是Python的标准GUI库,用于创建图形界面。Tkinter提供了许多控件,用于创建各种GUI应用程序。以下是一些常用的Tkinter控件及其用法: Label Label控件用于在GUI中显示文本或图。以下是一个示例: from tkinter import * …

    other 2023年5月7日
    00
  • Mybatis 如何在配置文件中给实体类起别名

    Mybatis 如何在配置文件中给实体类起别名 步骤一:在配置文件中指定别名 在 Mybatis 的配置文件中,可以通过<typeAliases>元素来为实体类指定别名。具体操作如下: 打开 Mybatis 的配置文件(通常是 mybatis-config.xml)。 在 <configuration> 标签内部添加 <type…

    other 2023年6月28日
    00
  • 聊一聊前端算法面试(递归)

    聊一聊前端算法面试(递归) 什么是递归 递归(Recursion)是指函数直接或间接地调用自身的方法。在计算机科学中,递归的使用十分广泛,例如快速排序、求阶乘、二分查找等算法都是递归的。 递归函数一般具有如下特点: 基线条件:函数的结束函数,使用 if 语句来判断是否结束递归。 递归条件:函数调用自己的条件。 自己调用自己:函数的最后一句代码应是调用自身。 …

    other 2023年6月27日
    00
  • 概念数据模型CDM基础

    概念数据模型(CDM)是一种用于描述数据的模型,它是一种高层次的、概念性的数据模型,用于描述数据的本质特征和关系。本文将详细讲解CDM的基础概念和使用方法,并提供两个示例说明。 基础概念 实体 实体是CDM中的基本概念,它代表了现实世界中的一个对象或概念。每个实体都有一个唯一的标识符,称为实体标识符(Entity Identifier)。实体可以包含多个属性…

    other 2023年5月5日
    00
  • bioconductor应用领域之基因芯片

    Bioconductor应用领域之基因芯片 基因芯片简介 基因芯片(gene chip)是一种高通量生物芯片,可用于同时检测和分析大量基因的表达和变异情况。基因芯片是通过制备与已知基因序列互补的核酸探针,用于探测样本中存在的基因表达或DNA变异信息。基因芯片技术的广泛应用已经在许多领域取得成功,并成为生物医学研究的重要工具之一。 Bioconductor简介…

    其他 2023年3月28日
    00
  • Linux/Unix操作系统目录结构的来历

    Linux/Unix操作系统目录结构的来历: Linux/Unix操作系统目录结构的设计最初是基于多用户,多任务的操作系统。在早期的操作系统中,只有很少的目录和文件需要进行管理,但是随着操作系统的发展,需要管理的目录和文件数量不断增加,这就需要一种更为完善的结构来管理这些文件和目录。而Linux/Unix操作系统目录结构的设计正是为了应对这一需求而产生的。 …

    other 2023年6月27日
    00
  • Linux终端命令行的常用快捷键详解

    标题:Linux终端命令行的常用快捷键详解 正文: 快捷键是Linux终端命令行的一项非常重要的功能,能够提高命令行操作的效率。下面将对常用的Linux终端命令行快捷键进行详细讲解。 常用快捷键 控制命令输入 Ctrl + a:将光标移动到命令行的开头。 Ctrl + e:将光标移动到命令行的末尾。 Ctrl + u:删除从光标位置到行首的所有内容。 Ctr…

    other 2023年6月26日
    00
  • vue 2.0 开发实践总结之疑难篇

    Vue 2.0 开发实践总结之疑难篇的完整攻略 Vue 2.0 是一款流行的前端框架,但在实践中,我们可能会遇到一些疑难问题。本文将为您提供一份详细的 Vue 2.0 开发实践总结之疑难篇的完整攻略,包括两个示例说明。 示例1:如何在 Vue 中使用第三方库? 在 Vue 中使用第三方库可能会遇到一些问题,例如无法正确引入库、无法正确使用库等。可以按照以下步…

    other 2023年5月5日
    00
合作推广
合作推广
分享本页
返回顶部