centos8 默认nginx路径_CentOS 8系统安装Nginx Web服务器及常见配置过程

Nginx是一种快速、轻量级的Web服务器,优势是Nginx的配置文件非常简单易用。它是Apache Web服务器的绝佳替代品。在本文中,惠主机将简单介绍如何在CentOS 8上安装Nginx Web服务器和常见基本配置过程。

安装Nginx

Nginx在CentOS 8的官方软件包存储库中可用。因此,它非常易于安装。

首先,按照下面命令更新DNF软件包存储库缓存:

$sudo dnf makecache

现在,使用以下命令安装Nginx:

$ sudo dnf install nginx

请按Y键确认安装,然后按键。

这时候Nginx将会被安装:

管理Nginx服务

默认情况下,nginx服务应处于非活动状态(未运行)并被禁用(不会在启动时自动启动)。

$ sudo systemctl status nginx

所以,可以按以下方式启动nginx服务:

$sudo systemctl start nginx

这时可以看到nginx服务已经在运行。

$ sudo systemctl status nginx

现在,将nginx服务添加到系统启动中,命令如下:

$ sudo systemctl enable nginx

配置防火墙

记住必须将防火墙配置为允许访问HTTP端口80和HTTPS端口443,以便从网络上的其他计算机访问Nginx Web服务器。

可以使用以下命令允许访问HTTP和HTTPS端口:

$sudo firewall-cmd –add-service = { http,https }–permanent

现在,要使更改生效,请运行以下命令:

$sudo firewall-cmd –reload

测试Web服务器

必须知道Nginx Web服务器的IP地址或域名才能访问它,可以使用以下命令找到Nginx Web服务器的IP地址:

$ ip a

在本文中,IP地址为192.168.20.175,对你来说会有所不同。因此,请确保将IP地址替换成你自己的。

现在,从Web浏览器访问http://192.168.20.175(替换成你自己的IP),应该看到以下页面,这意味着Nginx Web服务器正在工作。

配置Nginx配置文件

Nginx Web服务器配置文件位于/ etc / nginx /目录中。

$tree /etc/nginx

/etc/nginx/nginx.conf是主要的Nginx配置文件。

Nginx Web服务器的默认Web根目录为/ usr / share / nginx / html /。因此,这是你应该保留网站文件的地方。

Web服务器的基本设置

下面将简单介绍如何设置基本的Nginx Web服务器。

首先,使用以下命令备份原始Nginx配置文件:

$sudo mv -v /etc/nginx/nginx.conf /etc/nginx/nginx.conf.original

现在,创建一个新的Nginx配置文件,如下所示:

$sudo nano /etc/nginx/nginx.conf

接下来在/etc/nginx/nginx.conf文件中键入以下内容并保存该文件。

user nginx 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;

server {

listen 80;

server_name example.com www.example.com;

root /usr/share/nginx/html;

index index.html;

access_log /var/log/nginx/access.log;

}

}

在这里,用户选项用于将Nginx运行用户和组分别设置为nginx。

error_log中选项用于设置错误日志文件路径/var/log/nginx/error.log。这是与Nginx服务器相关的错误将被存储的地方。

Nginx服务器的主要配置在http部分的server部分中定义。如果需要,可以在http部分中定义多个服务器部分。

在服务器部分:

listen选项用于将Nginx配置为侦听Web请求的端口80(HTTP端口)。

server_name选项用于为Nginx Web服务器设置一个或多个域名。如果您的DNS设置正确,则可以使用这些域名访问Nginx Web服务器。

access_log用于将访问日志文件路径设置为/var/log/nginx/access.log。当有人尝试访问Nginx Web服务器时,访问信息(即IP地址,URL,HTTP状态代码)将被记录到该文件中。

该位置选项用于设置Nginx的Web服务器的根目录。

在这里,根目录是/ usr / share / nginx / html /。

这是应保存所有网站文件的位置。该指数选项设置的index.html作为默认的文件,如果没有要求特定的文件服务。例如,如果您访问http://192.168.20.175/myfile.html,则您的Nginx将返回myfile.html文件。但是,如果您访问http://192.168.20.175/,那么Nginx将向您发送index.html文件,因为没有请求任何特定文件。

现在,如下所示从/ usr / share / nginx / html /目录(网络根目录)中删除所有文件:

$sudo rm -rfv /usr/share/nginx/html/*

现在,在/ usr / share / nginx / html /目录中创建一个新的index.html文件,如下所示:

现在,在index.html文件中键入以下行并保存文件。

Hello world

© 2020 LinuxHint.com

现在,重新启动nginx服务,如下所示:

$sudo systemctl restart nginx

现在,从Web浏览器访问http://192.168.20.175,您应该看到以下页面。恭喜!您已经设置了第一台Nginx Web服务器。

配置错误页面

可以在Nginx中配置错误页面。例如,如果页面/文件/目录不可用,则HTTP状态代码404将返回到浏览器。您可以为HTTP状态代码404设置自定义HTML错误页面,该页面将返回到浏览器。

为此,请在nginx.conf文件的server部分中添加以内容。

server {

error_page 404 /404.html;

}

现在,在Nginx Web根目录/ usr / share / nginx / html /中创建文件404.html,如下所示:

$ sudo nano /usr/share/nginx/html/404.html

现在,在404.html中键入以下行并保存文件。

Error 404

Page not found

© 2020 LinuxHint.com

现在,重新启动nginx服务,如下所示:

$ sudo systemctl restart nginx

启动之后尝试访问不存在的路径(http://192.168.20.175/nopage.html),您应该看到以下错误页面。

如果404.html文件位于不同的文件系统路径中(例如/ usr / share / nginx / html / errors /目录),则可以将URL /404.html映射到它,如下所示:

server {

error_page 404 /404.html;

location /404.html {

root /usr/share/nginx/html/errors;

}

}

创建一个新目录  / usr / share / nginx / html / errors /,如下所示:

$ sudo mkdir /usr/share/nginx/html/errors

现在,在目录/ usr / share / nginx / html / errors /中创建一个新文件404.html,如下所示:

$ sudo nano /usr/share/nginx/html/errors/404.html

在404.html文件中键入以下内容并保存文件。

PAGE NOT FOUND

GO BACK HOME

现在,重新启动nginx服务,如下所示:

$ sudo systemctl restart nginx

尝试访问不存在的路径(http://192.168.20.175/nopage.html),您应该看到更新过的错误页面。

配置日志

在Nginx中,error_log和access_log选项用于记录错误消息和访问信息。

error_log和access_log选项的格式为:

error_log /path/to/error/log/file [optional:custom-log-name];

access_log /path/to/access/log/file [optional:custom-log-name];

您可以定义自己的错误日志并根据需要访问日志格式。

为此,请使用http部分中的log_format选项来定义您的自定义日志格式,如下所示。

http {

log_format simple ‘[$time_iso8601] $request_method $request_uri ‘

‘[$status] ($request_time) -> $bytes_sent bytes’;

server {

access_log /var/log/nginx/access.log simple;

}

}

此处,日志格式名称为simple。一些nginx变量用于定义自定义日志格式,可以自己找一些资料看看。

自定义日志格式应使用单引号引起来。日志格式可以单行或多行定义。我已经在本文中展示了如何在多行中定义日志格式。单行日志格式不会有任何麻烦!

定义了简单的日志格式后,access_log选项用于告诉Nginx将其用作访问日志。

同样,您可以使用error_log选项设置自定义错误日志格式。

在本文中,我仅为访问日志配置了自定义日志格式。

现在,重新启动nginx服务,如下所示:

$sudo systemctl restart nginx

现在可以按以下方式监视访问日志文件:

$sudo tail -f /var/log/nginx/access.log

同时还可以按以下方式监视错误日志文件:

$ sudo tail -f /var/log/nginx/error.log

如果需要,可以同时监视访问日志和错误日志文件,如下所示:

$sudo tail -f /var/log/nginx/{error,access}.log

正如所见的,正在使用新的访问日志格式。

拒绝访问某些路径

你可以使用正则表达式来匹配某些URI路径,并在Nginx中拒绝对其进行访问。

假设你的网站是由Git管理的,并且您想拒绝访问Web根目录下的.git /目录。

为此,请在/etc/nging/nginx.conf文件的server部分中输入以下行:

server {

location ~ \.git {

deny all;

}

}

设置之后,拒绝访问任何包含.git的路径。

配置压缩文件

对于网站来说,可以先压缩Web内容,然后再使用gzip将其发送到浏览器,以节省Nginx Web服务器的带宽使用量。

我在/ usr / share / nginx / html / images /目录中有一些JPEG图像。

这时候可以使用URI路径/ images访问这些图像。

要仅对URI路径/ images中的JPEG图像启用gzip压缩,请在/etc/nginx/nginx.conf文件的server部分中输入以下行。

server {

location /images {

gzip on;

gzip_comp_level 9;

gzip_min_length 100000;

gzip_types image/jpeg;

}

}

在这里,gzip_comp_level用于设置压缩级别。可以是1到9之间的任何数字。级别越高,压缩文件将越小。

仅当文件大小大于gzip_min_length时,才会压缩该文件。在此示例中,我将其设置为大约100 KB。因此,小于100 KB的JPEG文件不会被gzip压缩。

该  gzip_types用于设置将要压缩的文件的MIME类型。

您可以从文件扩展名中找到mime类型,如下所示:

$grep jpg / etc / nginx / mime.types

如您所见,对于.jpg或.jpeg文件扩展名,mime类型为image / jpeg。

您可以使用gzip_types选项设置一种或多种mime类型。

如果要设置多个MIME类型,请确保使用空格将它们分开,如下所示:

gzip_types image/jpeg image/png image/gif;

现在,重新启动nginx服务,如下所示:

$sudo systemctl restart nginx

如您所见,当需要时,Nginx将gzip压缩图像文件发送到浏览器。

如下面的屏幕截图所示,gzip压缩文件小于原始文件。

$sudo tail -f /var/log/nginx/access.log

这样就说明Gzip压缩已经设置成功。

总结:

以上这些就是CentOS 8上安装和配置Nginx Web服务器的方式,当然除此之外,还有启用HTTPS、将HTTP请求重定向到HTTPS等配置内容,本文就不在赘述,有需要的小伙伴可以自行找些资料看看。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/432633.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

思科模拟服务器怎么写文件,思科模拟服务器配置教程

思科模拟服务器配置教程 内容精选换一换部署游戏应用前,您需要准备硬件以及华为云的环境,主要包括以下内容:硬件环境:您需要准备一台带有显卡的Windows机器,硬盘至少20G,用于运行游戏客户端。若您不需要运行…

vs2013编译osg缺少mfc120d.lib

因为MFC MBCS DLL缺少导致的,微软的解释如下(http://msdn.microsoft.com/en-us/library/dn251007.aspx): MFC libraries (DLLs) for multibyte character encoding (MBCS) are no longer included in Visual Studio, but are avai…

【转载】MongoDB 1000W级数据 Insert和Query和Delete性能测试

加索引测试: > db.users.getIndexes() [ { "name" : "_id_", "ns" : "test.users", "key" : { "_id" : …

名词解释说明用英语怎么说_“恍然大悟”用英语怎么说?

当我们对思考已久的事情,突然明白或醒悟时,可以说是“恍然大悟”了。那么问题来了,“恍然大悟”用英语该怎么说呢?① it occurs to me这是一个使用频率很高的表达,日常生活中经常会用到。在美剧《摩登家庭》中&#xf…

彩虹六号服务器显示,彩虹六号怎么看自己在什么服务器 | 手游网游页游攻略大全...

发布时间:2015-09-10在游戏中新手玩家要注意些什么呢?今天就为大家带来新手必看技巧汇总,一起来看看吧. 新手必看技巧大全: 1.开局遇到人别急着标记,尽量先找到目标位置 2.如果开局 ...标签:发布时间:2016-04-29彩虹六号:围攻 地图攻略 总统…

再次遇到谓词推入

explain plan for with aa as(select a.agmt_id,sum(c.acct_bal) as card_bal, --借记卡期末存款余额a.card_open_org,a.OPEN_DATE, -- 发卡日期 a.CARD_NEW_STATUS, -- 卡片状态 a.cust_magr, -- 客户经理号 a.cust_no, -- 客户号a.corp_orgfrom dwf.f_agt_cadb_book_…

OSG+VS2013+Win7 环境搭建,osgvs2013

最近在学习虚拟现实,要使用OpenSceneGraph(OSG),但是网上找不到VS2013的搭建教程,好烦。。。 只能自己在vs2010的基础上,修改一些bug,最后成功搭建。 步骤一:材料准备 a) Osg源码 当…

ShardedJedisPool 中可用连接数的小bug

ShardedJedisPool中,returnBrokenResource() 及 returnResource() ,为施放资源、关闭连接的方法,若重复调用,导致 _numActive 当前活动数一直递减,会出现负数的情况。 假如在一个方法中设置了三个jedis连接&#xff0c…

Linux设备树翻译计划

本文翻译自Device Tree Usage主页: http://devicetree.org/Device_Tree_Usage 此译文为本人原创,若要转载请注明!Linux device tree的背景(引用自宋宝华博客):Linus Torvalds在2011年3月17日的ARM Linux邮件…

像postman上传文件_90%的测试工程师是这样使用Postman做接口测试的……

postman介绍&测试准备postman介绍:postman是一个开源的接口测试工具,无论是做单个接口的测试还是整套测试脚本的拨测都非常方便。前期准备:测试前,需要安装好postman, 客户端版本跟插件版本都行,根据个人需要选择安…

浅析STL allocator

一般而言,我们习惯的 C 内存配置操作和释放操作是这样的: 1 class FOO{}; 2 FOO *pf new FOO; 3 delete pf; 我们看其中第二行和第三行,虽然都是只有一句,当是都完成了两个动作。但你 new 一个对象的时候两个动作是&#xff…

十六进制除法运算法则_苏教版数学七年级上册 微课视频 2.6 有理数的乘法与除法(1)...

第一章《数学与我们同行》视频讲解 同步练习2.1 《正数与负数》2.2 有理数与无理数2.3 数轴2.4 绝对值与相反数(1)2.4 绝对值与相反数(2)2.5 有理数的加法与减法(1)2.5 有理数的加法与减法(2)2.6 有理数的乘法与除法(1)七、有理数的乘除法1.有理数的乘法法则法则一&#xff1…

为自己尝试写点东西吧,程序员们!(转)

2012年秋季,正是大伙急于找实习工作的时候。尝试出去找过很多实习单位,但是基本上都是不靠谱,然后就是我自己能力的不足。所以找工作之路也是异常艰辛和曲折。 学了那么久的Java,做过那么多的小练习,但是说实话&#x…

a5d27 emmc启动 修改1

a5d27第1级bootloader是从sdhc0(emmc)加载还是从sdhc1(sd卡)加载, 只需要修改board/sama5d2_xplained文件即可 修改CONFIG_SDHC* y 这个宏定义在board/sama5d2_xplained.c中的void at91_sdhc_hw_init(void)函数实现 从上面代码可以看出第1级的bootloader只支持一…

矩阵每一行重复_【剑指offer】65 矩阵中的路径

- 题目描述请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一…

什么是单工、半双工和双工通信?有哪些实际应用的例子

根据数据信息在传输线上的传送方向,数据通信方式分为单工通信 半双工通信和全双工通信3种。 1)单工通信 数据信息在通信线上始终向一个方向传输。数据信息永远从发送端传输到接收端。列如,广播电视就是单工传输方式,收音机电视机只…

mysql5.464位下载_MySQL Front 64位

MySQL-Front是一款实用的MYSQL数据库管理工具,软件自带了简体中文语言,与mysql数据库连接后就可以对其地蚝各类管理操作了,比如对域进行编辑、增加和删除,执行sql脚本或者导出数据库等操作,除此之外还可以将数据库保存…

a5d27 emmc启动 修改2

修改第2级bootloader的include/configs/sama5d2_xplained.h文件 #define FAT_ENV_DEVICE_AND_PART "0" #define CONFIG_BOOTCOMMAND "fatload mmc 0:1 0x21000000 at91-sama5d2_xplained.dtb; " \ "fatload mmc 0:1 0x22000000 zImage; " \ &q…

监听APP升级广播处理

当旧版本的用户升级新版本的时候需要重新设定一些值处理,这时候需要监听升级版本的广播 <receiver android:name".OnUpgradeReceiver"><intent-filter><action android:name"android.intent.action.PACKAGE_REPLACED" /><data androi…

mysql linux 优化_mysql在linux中内核优化

linux内核优化,直接修改/etc/sysctl.conf执行 sysctl -p立即生效# 每个端口监听队列最大长度net.core.somaxconn 65535# 增加系统文件描述符限制fs.file-max 65535# 当网络接受速率大于内核处理速率时&#xff0c;允许发送到队列中的包数目net.core.netdev_max_backlog 6553…