Nginx
2022/1/1 7:09:30
本文主要是介绍Nginx,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、web服务介绍
Web服务(Web Service)是基于XML和HTTPS的一种服务,其通信协议主要基于SOAP,服务的描述通过WSDL,通过UDDI来发现和获得服务的元数据。
对这个问题,我们至少有两种答案。从表面上看,Web service 就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API。这就是说,你能够用编程的方法通过Web来调用这个应用程序。我们把调用这个Web service 的应用程序叫做客户。例如,你想创建一个Web service ,它的作用是返回当前的天气情况。那么你可已建立一个ASP页面,它接受邮政编码作为查询字符串,然后返回一个由逗号隔开的字符串,包含了当前的气温和天气。
二、web服务器常见软件
静态web服务器:Nginx、Apache、Lighttpd,国内主要用nginx
动态web服务器:PHP(php容器)、Tomcat(java容器)、Resin(java容器)、IIS(微软)
三、Nginx与Apache的对比
网络模型
Nginx使用epoll网络模型
Apache使用seletc网络模型
-
- 举例说明:宿舍管理员
select模型版管理员 会一个一个房间查询人员
epoll模型版管理员 会进行检索后,直接找到需要找的人 - 举例说明:幼儿园阿姨
select模型版阿姨 会一个一个小朋友进行询问,确认哪个小朋友需要上厕所
epoll模型版阿姨 会告知想上厕所小朋友自觉站到响应位置
- 举例说明:宿舍管理员
特征
Apache:
-
-
- 2.2版本非常稳定强大,2.4版本性能更强
- Prefork模式取消了进程创建开销,性能很高
- 处理动态业务数据时,效率不高(瓶颈不在apache上,是因为关联到后端的引擎和数据库)
- 高并发时消耗系统资源相对多一些
- 基于传统的select模型(同步),高并发能力有限
- 支持扩展库,可通过DSO,apxs方式编译安装插件
- 功能多,更稳定,更安全,插件也多
- 市场份额逐年递减
-
Nginx:
-
-
- 基于异步网络I/O模型(epoll、kqueue)
- 具备支持高性能,高并发的特性,并发连接可达数万
- 对小文件(小于1M的静态文件)高并发支持很好,性能很高
- 不支持类似apache的DSO模式,扩展库必须编译进主程序(缺点)
- 进程占用系统资源比较低
- 支持Web,反向proxy,cache三大重点功能,并且都很优秀
- 市场份额在逐年快速增加
-
总结
Nginx既支持静态业务又支持动态业务,且性能表示都很好,还能做前端代理,为了避免业务用多种软件增加维护成本和学习成本,建议使用Nginx
四、Nginx部署
方式1 :yum安装
[root@web01 ~]# yum install nginx -y
方式2: 二进制安装
方式3:编译安装(可以自定义增加需要的模块)
[root@web01 ~]# tar -xf nginx-1.20.2.tar.gz [root@web01 ~]# cd nginx-1.20.2 [root@web01 nginx-1.20.2]#./configure --with-http_ssl_module [root@web01 nginx-1.20.2]#make [root@web01 nginx-1.20.2]#make install
五、Nginx命令介绍
格式 :nginx [参数]
参数
-v (打印版本号)
-V (打印版本号和配置项)
-t (检查配置文件)
-T(测试配置文件并启动)
-q (打印错误日志)
-s (操作进程)
stop(停止)
quit(退出)
reopen(重启)
reload(重载配置)
-p (指定nginx的工作目录)
-e (指定错误日志路径)
-c (指定配置文件的路径)
-g (设置一个全局的Nginx的配置项)
六、Nginx配置文件
配置文件位置 /etc/nginx/conf.d/default.conf
/etc.nginx/nginx.conf
配置解释
全局配置
user(使用ngxin的用户)
worker_processes(定义nginx的worker进程数)
auto==cpu数量
error_log (错误日志存放的路径)
pid (pid存放的路径)
模块配置
events模块
worker_connections (每一个worker最多同时接入的请求数量)
http模块(web服务的模块)
include (加载指定路径的配置)
default_type (如果识别不了文件的类型,则使用默认的文件类型)
log_format (定义日志格式)
sendfile (高效读取文件)
keepalive_timeout(长连接保持连接的时间)
HTTP1.0 (短链接)
HTTP1.1(长链接)
server模块(网站模块,每一个server生成一个网站)
listen(监听的端口)
server_name(定义域名)
location (访问路径)
root(指定网址的路径)
index(指定网址的索引文件)
七、搭建小游戏
① 将小游戏上传到linux
② 编辑配置文件
vim /etc/nginx/conf.d/game.conf
server { listen 80; server_name test.mario.com; location / { root /code/html5-mario; index index.html; } }
③ 测试配置文件是否正常
[root@web01 conf.d]# nginx -t
④ 重启 nginx
[root@web01 ~]# systemctl restart nginx
⑥ 在Windows上进行域名解析
C:\Windows\System32\drivers\etc\hosts
在该文件里面输入ip地址与设置的域名
172.16.1.7 game.test.com
这篇关于Nginx的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-29Nginx发布学习:从入门到实践的简单教程
- 2024-10-28Nginx发布:新手入门教程
- 2024-10-21nginx 怎么设置文件上传最大20M限制-icode9专业技术文章分享
- 2024-10-17关闭 nginx的命令是什么?-icode9专业技术文章分享
- 2024-09-17Nginx实用篇:实现负载均衡、限流与动静分离
- 2024-08-21宝塔nginx新增8022端口方法步骤-icode9专业技术文章分享
- 2024-08-21nginx配置,让ws升级为wss访问的方法步骤-icode9专业技术文章分享
- 2024-08-15nginx ws代理配置方法步骤-icode9专业技术文章分享
- 2024-08-14nginx 让访问带有/relid的地址返回404 ,例子 /relid-x-0.36-y-131.html-icode9专业技术文章分享
- 2024-08-14nginx 判断地址有/statics/的路径,指向到/home/html/statics/目录-icode9专业技术文章分享