Nginx教程

nginx网站服务

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

目录

  • 前言
  • 1.关于Nginx
    • 1.1Nginx编译安装
    • 1.2编译安装Nginx服务
  • 2.停止nginx服务
  • 3.访问状态统计
  • 4.访问控制
  • 总结

前言

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————》要求输入账号密码

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

总结

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

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