nginx网站服务

前言

1.什么是nginx的服务基础?2.什么是nginx的服务控制?3.什么是nginx虚拟主机?

1.关于Nginx

一款高性能、轻量级Web服务软件
1.稳定性高
2.系统资源消耗低
3.对HTTP并发连接的处理能力高
单台物理服务器可支持30000~50000个并发请求

1.1Nginx编译安装

安装支持软件
[root@localhost ~]# yum -y install pcre-devel zlib-devel
创建运行用户、组
[root@localhost ~]# useradd -M -s /sbin/nologin nginx
编译安装Nginx
[root@localhost ~]# tar zxf nginx-1.12.0.tar.gz
[root@localhost ~]# cd nginx-1.12.0
[root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --gser=nginx --group=nginx --with-http_stub_status _module
[root@localhost nginx-1.12.0]# make && make install

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

1.2编译安装Nginx服务

1、关闭防火墙,将安装ngnix所需的软件包上传到/opt目录下
systemctl stop firewalld.service
systemctl disable firewalld.service
setenforce 0
2、 安装依赖包
yum -y install gcc gcc-c++ pcre-devel zlib-devel make
3、 编译安装Nginx
tar zxvf nginx-1.12.2.tar.gz -C /opt/
cd /opt/nginx-1.12.2/
./configure \
prefix= /usr/local/nginx \
user= nginx \
-group= nginx \
--with-http_ stub_ status_ module
make && make install
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
useradd -M -S /sbin/nologin nginx
4、 检查、启用、添加系统管理
①常用命令
nginx -t
#检查配置文件是否配置正确
nginx
#启动

在这里插入图片描述

2.停止nginx服务

cat /usr/local/nginb/logs/nginx.pid#首先查看nginx的PID号
kill -3 <PID号>
kill -s QUIT <PID号>
killall -3 nginx
killall -s QUlT nginx

重载
kill -1 <PID号>
kill -s HUP <PID号>
killall -1 nginx
killall -s HUP <PID号>

nginx平滑升级
添加Nginx系统服务(systemctl or service)
方式一:
vim /etc/init.d/nginx
#!/bin/bash
#chkconfig: - 99 20							# chkcofig - “-” 表示不启用开机启动管理 (同时 若不加“#”, chkconfig add nginx 会加载不到配置)
#description: Nginx Service Control Script
COM="/usr/local/nginx/sbin/nginx"				#命令程序文件位置(nginx)
PID="/usr/local/nginx/logs/nginx.pid"			#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

在这里插入图片描述

3.访问状态统计

1、先使用命令/usr/local/nginx/sbin/nginx-V查看已安装的Nginx是否包含HTTP_STUB_STATUS模块
2、修改nginx.conf配置文件,指定访问位置并添加stub_status配置
在这里插入图片描述

4.访问控制

###基于授权的访问控制
htpasswd : htpasswd是一个用于目录访问权限认证的一个工具。

-c:创建密码文件,如果文件存在,那么内容被清空重写

1、生成用户密码认证文件
yum install -y httpd-tools
htpasswd -c /usr/local/nginx/passwd.db zhangsan
passwd :
#添加nginx管理、给与400权限
chown nginx /usr/local/nginx/passwd.db
chmod 400 /usr/local/nginx/passwd.db

2、修改主配置文件相对应目录,添加认证配置项vim /usr/local/nginx/conf/nginx.conf
location /{
auth_basic "secret";
#在主页配置项中添加认证
auth_basic_user_file /usr/local/nginx/passwd.db;#在主页配置项中添加认证root html;
index index.html index.htm;

3、重启服务,访问测试
nginx -t
systemctl restart nginx

测试:浏览器访问http://www.ky11.com————》要求输入账号密码

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

5.虚拟主机

1、基于域名的Nginx虚拟主机
添加域名解析

echo "192.168.226.128 www.accp.com www.benet.com" >>/etc/hosts

准备虚拟站点网页文档

mkdir -p /var / www / html/ accpmkdir -p /var / www / html / benet
echo "<h1> www.accp.com</h1>" >/var/www / html/accp/index.htmlecho "<h1> www.benet.com</h1>" >/var/www / html/benet/index.html

##修改配置文件

server {
listen  80;
server_name www.accp.com;
charset utf-8;
access_log  logs/ accp.access. log;
location /  {
root   /var/ www/ html/accp;
index  index.html index.htm;
}
error_page 500 502 503 504  /50x.html;
location = /50x.html {
root html;
}
}
server {
listen  80;
server_name www.benet.com;
charset utf-8;
access_log  logs/ benet.access. log;
location /  {
root   /var/ www/ html/ benet;
index  index.html index.htm;
}
error_page 500 502 503 504  /50x.html;
location = /50x.html {
root html;
}
}

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

6.基于不同端口

server {
listen  192.168.10.13:80;
server_name www.accp.com;
charset utf-8;
access_log  logs/ accp.access. log;
location /  {
root   /var/ www/ html/accp;
index  index.html index.htm;
}
error_page 500 502 503 504  /50x.html;
location = /50x.html {
root html;
}
}
server {
listen  192.168.10.13:8080;
server_name www.accp.com;
charset utf-8;
access_log  logs/ accp.access. log;
location /  {
root   /var/ www/ html/accp;
index  index.html index.htm;
}
error_page 500 502 503 504  /50x.html;
location = /50x.html {
root html;
}
}

在这里插入图片描述

7.基于不同IP地址

server {
listen  192.168.10.13:80;
server_name www.accp.com;
charset utf-8;
access_log  logs/ accp.access. log;
location /  {
root   /var/ www/ html/accp;
index  index.html index.htm;
}
error_page 500 502 503 504  /50x.html;
location = /50x.html {
root html;
}
}
server {
listen  192.168.10.10:80;
server_name www.benet.com;
charset utf-8;
access_log  logs/ benet.access. log;
location /  {
root   /var/ www/ html/ benet;
index  index.html index.htm;
}
error_page 500 502 503 504  /50x.html;
location = /50x.html {
root html;
}
}

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

总结

1、首先nginx 与httpd以静态页面处理+动态页面转发的功能上比较类似,但是nginx “优势在于o抗高并发+0轻量级+ e性能稳定”—》httpd 与nginx区别(小概率的面试题)
2、nginx 的配置文件中包含的模块从全局—》具体匹配的URL,分为以下几种:
全局模块
在此模块中定义的内容,会生效于所有配置
http
应用于用户以http方式访问nginx这个过程
server 服务
适用于通过端口、ip 、域名的访问方式的请求
location——》URL www. ky13.com/index.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值