继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

初学nginx

幕布斯6054654
关注TA
已关注
手记 1264
粉丝 219
获赞 1011

1.什么是Nginx

nginx是一款高性能的http服务器/反向代理服务器以及电子邮件(IMPA/POP3)代理服务器。官方测试nginx能够支撑5万并发链接,并且cpu、内存等资源消耗非常低,运行非常稳定。


2.nginx工作原理

①多进程的工作模式
nginx启动后,会有一个nginx主进程和多个相互独立的worker进程。
②Nginx处理高并发:
在linux下面,epoll是高效的方法。

  • 支持一个进程打开大数目的socket。

  • IO效率不随socket数目增加而线性下降。

  • 使用mmap加速内核与用户空间的消息传递

  • 内核微调


3.Nginx安装

关于Nginx的安装,这里不做笔记,google安装即可。


4.Nginx安装结束后的常用命令:

  • nginx               ---启动服务

  • nginx -s stop      ---停止服务(快速停止)

  • nginx -s reload  ----重新服务(修改的配置文件生效)

  • nginx -t     ---查看nginx。。。

  • ps -ef |grep nginx   ---查看nginx进程

  • ps aux | grep nginx  --也是查看nginx进程(区别暂时未看!)

  • ……
    vim nginx.conf时:

  • 显示行号::set number


5.配置虚拟主机

5.1什么是虚拟主机

虚拟主机就是把一台物理服务器划分成多个“虚拟”的服务器,每一个虚拟主机都可以有独立的域名和独立的目录。

nginx虚拟主机的配置

nginx的虚拟主机就是通过nginx.conf中server节点指定的,想要设置多个虚拟主机,配置多个server节点即可。

5.2基于域名的虚拟主机配置
5.2.1需求

两个域名指向同一个服务器,用户访问不同的域名显示不同的网页内容。
两个域名是a.test.com和b.test.com
一台服务器还使用虚拟机192.168.1.23代替。

5.2nginx.conf文件的配置解释

worker_processes   --工作进程:数目,根据硬件调整,通常等于CPU数量或者2倍于CPU
worker_connections --每个工作进程的最大链接数量,根据硬件调整
http是代表关于http协议的配置:
include --mime.types; default_type        application/octet-stream; default_type        application/octet-stream;listen--端口server_name` --localhost、域名

5.3创建工程目录
  1. 在www文件下,创建a目录,创建a.html;
    在www文件下,创建b目录,创建b.html;

  2. 在nginx.conf中复制添加一个server,这两个分别修改server_name:a.test.com,b.test.com

  3. 在本地C:\Windows\System32\drivers\etc中的hosts中添加
    [ip] a.test.com
    [ip] b.test.com

  4. nginx -s reload 后分别访问a.text.com/a.html、b.text.com/b.html

  5. 这样便可以通过不同域名进行访问了。

5.4 nginx的location配置详解

语法规则:location = [=|~|~*|^~]/uri/{...}
=   :  开头表示精确匹配。
^~  : 开头表示uri以某个常规字符串开头,理解为匹配url路径即可。
~   : 开头表示区分大小写的正则匹配。
~* :      开头表示不区分大小写的正则匹配。
/  : 通用匹配,任何请求都会匹配到。

精准匹配:http://40.147.85.127/index.html ,到html1目录下访问index.html
location = /index.html{
    root html1;
}
url路径匹配,匹配通过/static访问的路径 :http://40.147.85.127/static/index.html,由于/static符合当前locaion,所以当location被匹配,访问的是html2/static/index.html.
location = ^~/static/{
    root html2;
}



作者:六个周
链接:https://www.jianshu.com/p/8c1e18d6f9e4



打开App,阅读手记
2人推荐
发表评论
随时随地看视频慕课网APP