Nginx教程

Nginx网站服务

本文主要是介绍Nginx网站服务,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

文章目录

  • 编译安装Nginx服务
    • 1.关闭防火墙,将所需软件包传到/opt目录下
    • 2.安装依赖包
    • 3.创建运行用户、组
    • 4.编译安装Nginx
    • 5.检查、启动、重启、停止nginx服务
    • 6.添加 Nginx 系统服务
  • Nginx的主配置文件
    • 1.全局模式
    • 2.I/O事件配置
    • 3.HTTP配置
    • 4.浏览器访问
    • 5.日志格式设定
  • 访问状态统计配置
    • 1.查看是否包含HTTP_STUB_STATUS 模块
    • 2.修改配置文件
    • 3.重启服务,浏览器访问![在这里插入图片描述](https://www.www.zyiz.net/img/ll/?i=20210406145755356.png)
  • 基于授权的访问控制
    • 1.生成用户密码认证文件
    • 2.修改主配置文件
    • 3.重启服务,浏览器访问
  • 基于客户端的访问控制
  • 基于域名的Nginx虚拟主机
    • 1.域名解析
    • 2.为虚拟主机准备网页文档
    • 3.修改Nginx的配置文件
    • 4.重启服务,访问浏览器
  • 基于IP的Nginx虚拟主机
    • 1.创建一个虚拟网卡
    • 2.修改配置文件
    • 3.浏览器访问
  • 基于端口的Nginx虚拟主机

编译安装Nginx服务

1.关闭防火墙,将所需软件包传到/opt目录下

在这里插入图片描述

2.安装依赖包

在这里插入图片描述
在这里插入图片描述

3.创建运行用户、组

Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限
在这里插入图片描述

4.编译安装Nginx

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.检查、启动、重启、停止nginx服务

nginx -t								#检查配置文件是否配置正确
#启动
nginx									
#停止
cat /usr/local/nginx/logs/nginx.pid		#先查看nginx的PID号
kill -3 <PID号>
kill -s QUIT <PID号>
killall -3 nginx
killall -s QUIT nginx
#重载
kill -1 <PID号>
kill -s HUP <PID号>
killall -1 nginx
killall -s HUP nginx
#日志分隔,重新打开日志文件
kill -USR1 <PID号>
#平滑升级
kill -USR2 <PID号>

在这里插入图片描述

6.添加 Nginx 系统服务

方法一:
vim /etc/init.d/nginx
#!/bin/bash
#chkconfig: - 99 20
#description:Nginx Service Control Script
COM="/usr/local/nginx/sbin/nginx"
PID="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
  $COM
;;

stop)
  kill -s QUIT $(cat $PID)
;;

restart)
  $0 stop
  $0 start
;;

reload)
  kill -s HUP $(cat $PID)
;;

*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1

esac
exit 0


chmod +x /etc/init.d/nginx
chkconfig --add nginx							#添加为系统服务
systemctl stop nginx
systemctl start nginx

方法二:
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecrReload=/bin/kill -s HUP $MAINPID
ExecrStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

在这里插入图片描述
在这里插入图片描述

Nginx的主配置文件

vim /usr/local/nginx/conf/nginx.conf

在这里插入图片描述

1.全局模式

在这里插入图片描述

2.I/O事件配置

在这里插入图片描述
在这里插入图片描述

3.HTTP配置

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.浏览器访问

在这里插入图片描述
在这里插入图片描述

5.日志格式设定

在这里插入图片描述

$remote_addr与$http_x_forwarded_for用以记录客户端的ip地址;
$remote_user:用来记录客户端用户名称;
$time_local: 用来记录访问时间与时区;
$request: 用来记录请求的url与http协议;
$status: 用来记录请求状态;成功是200,
$body_bytes_sent :记录发送给客户端文件主体内容大小;
$http_referer:用来记录从那个页面链接访问过来的;
$http_user_agent:记录客户浏览器的相关信息;
通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。
location常见配置指令,root、alias、proxy_pass

root(根路径配置):请求www.zzw.com/test,会返回文件/usr/local/nginx/html/test/index.html

alias(别名配置):请求www.zzw.com/test,会返回文件/usr/local/nginx/html/index.html

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

访问状态统计配置

1.查看是否包含HTTP_STUB_STATUS 模块

在这里插入图片描述

2.修改配置文件

在这里插入图片描述
在这里插入图片描述

3.重启服务,浏览器访问在这里插入图片描述

在这里插入图片描述

基于授权的访问控制

1.生成用户密码认证文件

在这里插入图片描述
在这里插入图片描述

2.修改主配置文件

在这里插入图片描述

3.重启服务,浏览器访问

在这里插入图片描述
在这里插入图片描述

基于客户端的访问控制

访问控制规则
deny IP/IP 段:拒绝某个 IP 或 IP 段的客户端访问。
allow IP/IP 段:允许某个 IP 或 IP 段的客户端访问。
规则从上往下执行,如匹配则停止,不再往下匹配。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基于域名的Nginx虚拟主机

1.域名解析

在这里插入图片描述

2.为虚拟主机准备网页文档

在这里插入图片描述

3.修改Nginx的配置文件

在这里插入图片描述
在这里插入图片描述

4.重启服务,访问浏览器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

基于IP的Nginx虚拟主机

1.创建一个虚拟网卡

在这里插入图片描述

2.修改配置文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.浏览器访问

在这里插入图片描述
在这里插入图片描述

基于端口的Nginx虚拟主机

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这篇关于Nginx网站服务的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!