首页 > 系统相关 >Nginx服务配置及相关模块

Nginx服务配置及相关模块

时间:2023-03-20 20:01:01浏览次数:48  
标签:www 配置文件 nginx 配置 pc server Nginx html 模块

一、Nginx配置文件

1. 主配置文件解析

①yum安装主配置文件位置:/etc/nginx/nginx.conf

②编译安装主配置文件位置:/编译安装路径/conf/nginx.conf

 1 nginx主配置文件:nginx.conf详解
 2 worker_processes  1;
 3 #全局配置本机可运行多少个master进程,根据本机cpu数量设置数量,可设置为auto按cpu核数自动化调整
 4 events {
 5 #events事件处理模块
 6     worker_connections  1024;
 7 #每个worker子进程可以处理多少个请求即可以打开多少个文件
 8 }
 9 http {
10 #http模块,web服务器与网页有关配置写在此模块中
11     include       mime.types;
12 #mime.type中规定了那些文件是给用户查看的,若文件类型不在此文件中则是下载文件。
13     default_type  application/octet-stream;
14 #默认支持文件类型
15     sendfile        on;
16 #开启文件传输
17     keepalive_timeout  65;
18 #长连接超时时间,单位为秒
19     server {
20 #http模块中的server模块,主要配置监听端口,虚拟主机,dns域名等
21         listen       80;
22 #监听所有ip的80端口
23         server_name  localhost;
24 #主机名为本机,可虚拟域名
25     location / {
26 #http模块下的location模块
27             root   html;
28 #此location的根目录位置
29             index  index.html index.htm;
30 #配置默认寻找文件,先寻找index.html若无此文件则找index.htm
31         }
32         error_page   500 502 503 504  /50x.html;
33 #500、502等错误界面跳转访问指定的/下的50x.html页面
34         location = /50x.html {
35 #定义此location为精确匹配,必须是50x.html才能访问此页面
36             root   html;
37         }
38 }
39 }
40     

 

2. 子配置文件启用

1 #启用子配置文件
2 #在主配置文件http模块的末尾添加。
3 include   /apps/nginx/conf.d/*.conf; 
4 #注意/apps/nginx/conf.d此文件夹需要存在,若不存在需要先建立好,*.conf表示在此文件夹下所有以.conf结尾的都是子配置文件。
5 systemctl restart nginx.service
6 #重启服务后即可

 

二、子配置文件使用

1. 创建虚拟主机实验

①创建子配置文件,指定虚拟主机域名为www.kgc.com,指定此虚拟主机根目录为/data/nginx/pc,网页显示内容为“这是测试页”。

 1 systemctl stop firewalld
 2 setenforce 0
 3 #关闭防火墙和selinux
 4 mkdir -pv /data/nginx/pc
 5 #递归创建/data/nginx/pc文件夹并显示过程
 6 echo "这是测试页">/data/nginx/pc/index.html
 7 #创建index.html文件内容为“这是测试页”
 8 cd /apps/nginx/conf.d
 9 #进入指定的子配置文件路径
10 vim  test.conf 
11 #创建子配置文件,文件内容如下:
12 server{
13 listen 80;
14 #监听所有主机的80端口
15 server_name www.kgc.com;
16 #创建虚拟主机域名为www.kgc.com
17 root  /data/nginx/pc;
18 #指定此server模块的根目录为/data/nginx/pc,注意指定的目录要存在
19 }

 

②配置修改完成后使用命令测试配置文件修改是否有错误,首先将nginx脚本拷贝到/usr/sbin下即可变成外部命令使用,然后使用nginx  -t检查所有配置文件。

 

 

③配置文件检查正常后重新加载配置文件:使用  nginx  -s reload热加载配置文件。

④在测试机的/etc/hosts文件下添加nginx服务器的ip和域名。注意不添加此步骤无法访问域名!!

1 systemctl stop firewalld
2 setenforce 0 
3 #关闭防火墙和selinu
4 vim /etc/hosts
5 #编辑hosts文件,添加内容如下
6 192.168.30.11  www.kgc.com
7 #注意不添加此步骤无法访问域名

 

⑤使用curl测试访问www.kgc.com内容是否为自己的定制的内容。

 

2. 基于端口虚拟主机实验

①修改子配置文件中的80端口为8080。

1 server{
2 listen 8800;
3 #监听所有主机的8080端口
4 server_name www.kgc.com;
5 #创建虚拟主机域名为www.kgc.com
6 root  /data/nginx/pc;
7 #指定此server模块的根目录为/data/nginx/pc,注意指定的目录要存在
8 }

 

②修改完成后检测配置文件然后重新加载。

1 nginx -t
2 #检测配置文件修改是否正确
3 nginx -s reload
4 #重新加载配置文件

 

③另外一台机器测试curl www.kgc.com:8080。

 

 

 

三、Nginx模块

1. access模块

①access模块默认是安装的无论是yum安装还是编译安装,不安装此模块需要在编译安装时添加--without-http_access_module。

②access模块有allow和deny俩个动作,allow是允许那些ip访问,deny是拒绝那些ip。默认是黑名单,拒绝谁才不能通过,不拒绝全部允许通过。

③设置拒绝192.168.30.11;

1 server {
2 listen 80;
3 server_name www.kgc.com;
4 deny 192.168.30.11/32;
5 #拒绝192.168.30.11地址访问此网页
6 root /data/nginx/pc/;
7 
8 }

 

④在其他2台pc的/etc/hosts文件中添加 192.168.50.200 www.kgc.com,然后访问。

 

 

 

 

 

 2. 自定义错误页面

① 子配置文件中添加配置如果报错404则跳转到/data/nginx/html/pc/40x.html

1 server {
2    listen 80;
3    server_name www.kgc.com;
4    error_page 404 /40x.html;
5 #配置报错404则跳转到/根目录下的40x.html文件中
6    location / {
7         root /data/nginx/html/pc;
8  }
9 }

②在 /data/nginx/html/pc目录下创建40x.html文件内容为“此页面为报错404跳转到此”。

③在机器上访问一个www.kgc.com/afasf不存在的文件则跳转到了指定的错误显示页面。

 

 

3. 状态页开启

1 server {
2    listen 80;
3    server_name www.kgc.com;
4    location /status {
5    root /data/nginx/html/pc;
6    stub_status;
7 #开启状态页
8  }
9 }

 

标签:www,配置文件,nginx,配置,pc,server,Nginx,html,模块
From: https://www.cnblogs.com/daiwei-123/p/17237474.html

相关文章

  • Spring容器管理的配置Bean转换对象为json字符串时StackOverflowError问题
    背景项目中某配置类XxxConfig定义了很多配置参数,通过Spring的@Value注解与配置中心的项目yml里的配置项关联。@Slf4j@Getter@Setter@RefreshScope@Configurationpub......
  • Maven构建项目出现多个root模块解决方法 将子模块项目放到父模块 pom文件的 <modules/
    Maven构建项目出现多个root模块解决方法https://blog.csdn.net/hkl_Forever/article/details/119975146问题描述:1、使用maven构建项目出现多个root,如下图所示,导致父工......
  • Windows Server 2016配置NTP客户端
    前提:开通WindowsTime 服务输入services.msc进入服务管理界面,找到WindowsTime 开启服务。情况1:可以直接设置NTP时钟控制面板——时钟和区域——设置时间和日期——I......
  • Jenkins安装及常用配置
    1)JDK安装及环境变量配置jdk一般选择1.8及以上版本,jdk环境具体安装步骤请擢:   这里这里 2)Jenkins安装    3)Jenkins配置  ......
  • Nginx代理testlink配置说明
    upstreamtestlink{server192.168.8.253:80weight=1max_fails=3fail_timeout=3s;}server{listen80;listen443ssl;server_nametestlink.test.com;ssl_certificate......
  • 配置LNMP发布论坛网站(二)​
    拓扑图:​推荐步骤:​安装依赖程序和安装mysql数据库​安装Nginx和php​配置Nginx连接php协同工作,配置DNS服务器使用域名www.bbs.com访问静态和动态网站​在Nginx服务器配置发......
  • Nginx和tomcat实现负载均衡
    拓扑图:​推荐步骤:​Nginx服务器开启路由转发功能,客户端和tomcat服务器配置IP地址设置正确安装tomcat服务器配置网站安装Nginx代理和负载均衡功能配置DNS服务器域名解析,客户......
  • 第七节:Git补充(开源协议、配置、等等)
    一.开源协议  新建仓库的时候,有个开源许可证,如下图:   常见的开源协议: 二.gitpush默认配置       三.         !......
  • apache 缓存和缓存配置
    爬虫禁止(写到项目里面的.htaccess)SetEnvIfNoCase^User-Agent$.*(YisouSpider|360Spider|QiaoFang|Baiduspider|Baiduspider-render|YisouSpider|Bytespider|360Spider|s......
  • Nginx 相关
    1.负载均衡与高可用upstreambackServer{serverlocalhost:8080; serverlocalhost:6001; }server{listen8088......