Linux服务:Nginx服务配置及相关模块

目录

一、Nginx配置文件

1、主配置文件解析

 2、子配置文件启用

二、子配置文件使用

1、创建虚拟主机实验

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

三、Nginx模块

1、access模块

2、自定义错误页面

3、状态页开启


一、Nginx配置文件

1、主配置文件解析

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

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

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

 2、子配置文件启用

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

二、子配置文件使用

1、创建虚拟主机实验

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

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

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

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

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

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

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

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

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

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

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

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

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

三、Nginx模块

1、access模块

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

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

③设置拒绝192.168.30.13;

server {
        listen 80;
        server_name www.kgc.com;
        deny 192.168.30.13/32;
#拒绝192.168.30.11地址访问此网页
        root /data/nginx/pc/;

}

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

2、自定义错误页面

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

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

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

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

3、状态页开启

server {
   listen 80;
   server_name www.kgc.com;
   location /status {
   root /data/nginx/html/pc;
   stub_status;
#开启状态页
 }
}

   

猜你喜欢

转载自blog.csdn.net/weixin_67287151/article/details/129123486