您的位置:首页 > 游戏 > 游戏 > 前端开发工程师要求_蚌埠网站制作公司排名_上海网络营销推广外包_p站关键词排名

前端开发工程师要求_蚌埠网站制作公司排名_上海网络营销推广外包_p站关键词排名

2024/12/22 13:10:17 来源:https://blog.csdn.net/yangfeipancc/article/details/144291565  浏览:    关键词:前端开发工程师要求_蚌埠网站制作公司排名_上海网络营销推广外包_p站关键词排名
前端开发工程师要求_蚌埠网站制作公司排名_上海网络营销推广外包_p站关键词排名

nginx网站服务

nginx介绍:

1、高并发,轻量级的web服务软件
2、稳定性高,系统资源消耗率低
3、对http的高并发处理能力高,单台物理(真机)服务器可以支持30000-50000个并发

在工作当中,单台的并发一般在20000

nginx功能介绍:
1、主要功能就是处理静态页面,包含文本,图片等等
2、动态内容处理能力较差,一般是把动态的请求转发到中间件(PHP、Python)转发到后台
3、可以支持正向代理和反向代理

正向代理和反向代理

正向代理:可以通过一个代理地址,访问其他web页面,客户端是知道通过代理服务器访问的目标地址
反向代理:
1、也是通过代理地址访问,但是客户端并不知道流量转发到了哪一台后端服务器
2、流量转发是根据算法把流量转发到后台服务器的
3、反向代理就是负载均衡
4、支持ssl/tls加密支持,支持https协议
5、支持虚拟主机,在一个nginx配置当中,可以做多个域名
6、nginx自带缓存机制,可以缓存静态文件
7、自带日志记录,但是nginx没有日志分割功能,记录的是nginx自己的业务日志,如果是程序启动,停止,程序出错的日志不包含在内

同步、异步

同步:在互联网中,处理请求的方式,一个服务器完成需要其他服务作为依赖时,只有等待被依赖的服务完整后,才算完成。
同步是一个可靠的序列,要么成功,要么失败。服务的状态需要严谨的保持一致。
异步:一个服务的完成需要依赖其他的服务,只是通知其他依赖开始执行,不需要等待依赖服务的执行结果,被依赖的服务执行结果也无法确定,是一个不可靠序列。

nginx快的原因:使用的是异步的处理方式

阻塞、非阻塞

阻塞:在调用结果返回之前,当前的线程会被挂起,一直等到返回结果,在这个期间是不能够执行其他任务的。
非阻塞:不需要等待调用的结果,不能立刻得到结果,因为不会阻塞当前的线程,而是立刻返回。

nginx的工作方式:异步非阻塞

ngixn的配置文件

conf:保存所有nginx配置文件,其中nginx.conf是nginx主核心配置文件,其他.conf主要是nginx的相关功能
logs:存放nginx的日志目录,access.log记住访问nginx的日志,error.log记录访问失败的日志(启动失败的日志,配置文件有错)
sbin:nginx的二进制启动的脚本,一般动用系统控制命令
html:保存的是nginx访问web页面,这个目录可以修改,文件名一般是index.html

nginx命令

命令含义
nginx -t检测配置语法是否正确
nginx -v显示nginx的版本
nginx -s stop start restart reload(信号)传递一个信号让内核处理

nginx配置文件的详解

全局模块:对全局生效
events:配置nginx服务器的并发处理数
http:配置代理,缓存,日志以及第三方模块(自定义对http请求进行处理)
server:http里面包含的server,配置虚拟主机的参数一个http里面可以有多个server
location:server里面包含location,用来匹配uri,一个server里面可以有多个location

#user  nobody;
#nginx的运行用户,注释掉的情况默认用的自定义程序用户
worker_processes  1;
#子进程的数量,一般配置内核数量两倍,一般不超过8个,超过8个会降低处理性能,一般情况下2-4......
pid /usr/local/nginx/run/nginx.pid;
#nginx进程文件的位置events {worker_connections  1024;
}
#每个子进程能过处理的并发连接数,一般也就在20000-40000
#linux打开文件,同时处理进程是有限制的,默认就是1024,修改系统的并发处理数和文件打开数量的限制(
vim /etc/security/limits.conf
* soft nproc 65535
#*表示任意程序 nproc:系统处理的进程数   nofile:同时打开文件的数量,最大就是65535
#只能重启生效
#ulimit -n 65535 临时修改系统的同时打开文件的数量
* hard nproc 65535 
* soft nofile 65535 
* hard nofile 65535
)http {include       mime.types;#文件扩展名于文件类型的映射表default_type  application/octet-stream;#nginx支持的默认文件类型#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '#                  '$status $body_bytes_sent "$http_referer" '#                  '"$http_user_agent" "$http_x_forwarded_for"';
#nginx的日志格式,$remote_addr都是nginx的内置变量,主要用来获取请求中的详细信息的#access_log  logs/access.log  main;#日志文件的路径sendfile        on;#支持文件发送()下载文件#tcp_nopush     on;发送数据包前先缓存数据#keepalive_timeout  0;keepalive_timeout  65;#连接保持的时间 65#gzip  on;#是否对响应的数据进行压缩server {#在这个模块当中配置web信息和页面的匹配机制listen       80;#监听的端口号,可以改,默认是80server_name  localhost;#站点的域名charset utf-8;#指定页面解码的字符集#access_log  logs/host.access.log  main;#站点日志文件的位置location / {#location匹配的语法:#root:拼接访问把路径和uri合并#alias:绝对路径,工作路径必须要包含uri路径#匹配uri /匹配的规则/通用匹配,模糊匹配root   html;#root默认的工作目录 /usr/local/nginx/htmlindex  index.html index.htm;#匹配的工作文件的格式 index开头 html.htm都可以}

root路径:拼接,把路径和uri合并

vim nginx.conf
location /test {root /var/www/html;index index.html;
}
保存退出
systemctl  restart nginx
mkdir -p /var/www/html/test
echo "这是xy104" >> /var/www/html/test/index.html

在这里插入图片描述
alias路径:绝对路径,工作路径必须包含uri路径

vim nginx.conf
location /test {alias /var/www/html/testindex index.html
}
保存退出
echo “这是xy105” > /var/www/html/test/index.html

在这里插入图片描述

练习

1、访问状态的统计

vim nginx.conf
location /status {stub_status on;access_log off;
}
保存退出
systenctl restart nginx

在这里插入图片描述

Active connections: 2
# 表示当前活动的连接数
server accepts handled requests: 
#表示已经处理的连接信息包含以下三个数字2 2 4 #已经处理的连接数  成功tcp握手的次数   已经处理的请求数
Reading: 0 Writing: 1 Waiting: 1
#表示服务器正从客户端的请求中读取数据
#服务器正在讲响应数据发送给客户端
#表示有连接处于空闲状态,可以处理新的请求

2、基于授权的访问的控制

apt -y install apache2
htpasswd -c /usr/local/nginx/passwd.db cf
输入密码
chown nginx /usr/local/nginx/passwd.db
chmod 400 /usr/local/nginx/passwd.db
vim nginx.conf
location / {
root html
index index.html
auth_basic "secret";
auth_basic_user_file /usr/local/nginx/passwd.db
}
保存退出
systemctl restart nginx

在这里插入图片描述
3、拒绝指定ip访问

vim nginx.conf
location / {
root html
index index.html
deny 192.168.42.30;
}
保存退出
systemctl restart nginx

在这里插入图片描述
4、基于域名的虚拟主机

vim nginx.conf
server {
listen 80;
server_name www.xy104.com;
charset utf-8;
access_log logs/xy104.com.access.log;
#创建一个独立的日志
}
保存退出
systemctl restart nginx
vim /etc/hosts
1i2.168.42.20 www.xy104.com

在这里插入图片描述
5、基于ip地址

vim nginx.conf
server {
listen 192.168.42.100:80;
server_name www.xy104.com;
charset utf-8;
access_log logs/xy104.com.access.log;
#创建一个独立的日志
}
保存退出
systemctl restart nginx

在这里插入图片描述
6、基于端口

server {listen 192.168.42.1008088;server_name www.xy105.com;charset utf-8;access_log logs/xy105.com.access.log;location / {root /var/www/html/xy105;index index.html;}
}
保存退出
systemctl  restart nginx

在这里插入图片描述

小结

nginx的配置文件:

全局:运行用户和子进程数量

event:子进程的并发数

http:server 域名 端口 :location 匹配多个分网页(uri)

root:拼接 ,工作目录的地址和uri结合起来就是访问的路径

alias:绝对路径

都是用来匹配uri

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com