nginx入门
文章目录
- nginx入门
- 一.nginx 功能介绍
- 二、nginx可以提供的服务
- 三、nginx的优点
- 四、nginx的部署
- 1、静态⽹站的部署
- 2、配置虚拟主机
- 2.1、端⼝绑定
- 2.1.1、上传静态⽹站
- 2.1.2、修改Nginx 的配置⽂件:~/nginx/config.d/port.conf
- 2.1.3、访问测试
- 2.2、域名绑定
一.nginx 功能介绍
Nginx因为它的稳定性、丰富的模块库、灵活的配置和低系统资源的消耗而闻名.业界一致认为它是Apache2.2+mod_proxy_balancer的轻量级代替者,不仅因为响应静态页面的速度非常快,而且它的模块数量是Apache的2/3。对proxy和rewrite模块的支持很彻底,还支持mod_fcgi、ssl、vhosts ,适合用做mongrel clusters前端HTTP响应。
nginx和Apache一样用模块化设计,nginx模块包括内置模块和第三方模块,其中内置模块中包含主模块和事件模块。
nginx处理请求逻辑图
二、nginx可以提供的服务
- web 服务.
- 负载均衡 (反向代理)
- web cache(web 缓存)
三、nginx的优点
- 高并发。静态小文件
- 占用资源少。2万并发、10个线程,内存消耗几百M。
- 功能种类比较多。web,cache,proxy。每一个功能都不是特别强。
- 支持epoll模型,使得nginx可以支持高并发。
- nginx 配合动态服务和Apache有区别。(FASTCGI 接口)
- 利用nginx可以对IP限速,可以限制连接数。
- 配置简单,更灵活。
四、nginx的部署
1、静态⽹站的部署
将/资料/静态⻚⾯/index⽬录下的所有内容 上传到服务器的/usr/local/nginx/html下即可访问
2、配置虚拟主机
虚拟主机,也叫“⽹站空间”,就是把⼀台运⾏在互联⽹上的物理服务器划分成多个“虚拟”服务器。虚拟主机技术极⼤的促进了⽹络技术的应⽤和普及。同时虚拟主机的租⽤服务也成了⽹络时代的⼀种新型经济形式。
2.1、端⼝绑定
2.1.1、上传静态⽹站
将/资料/静态⻚⾯/index⽬录上传⾄ /usr/local/nginx/index下
将/资料/静态⻚⾯/regist⽬录上传⾄ /usr/local/nginx/regist下
2.1.2、修改Nginx 的配置⽂件:~/nginx/config.d/port.conf
server {
listen 81; # 监听的端⼝
server_name localhost; # 域名或ip
location / { # 访问路径配置
root /usr/share/nginx/index;# 根⽬录
index index.html index.htm; # 默认⾸⻚
}
error_page 500 502 503 504 /50x.html; # 错误⻚⾯
location = /50x.html {
root html;
}
}
server {
listen 82; # 监听的端⼝
server_name localhost; # 域名或ip
location / { # 访问路径配置
root /usr/share/nginx/regist;# 根⽬录
index regist.html; # 默认⾸⻚
}
error_page 500 502 503 504 /50x.html; # 错误⻚⾯
location = /50x.html {
root html;
}
}
2.1.3、访问测试
地址栏输⼊http://192.168.177.129/:81 可以看到⾸⻚⾯
地址栏输⼊http://192.168.177.129/:82 可以看到注册⻚⾯
2.2、域名绑定
⼀个域名对应⼀个 ip 地址,⼀个 ip 地址可以被多个域名绑定。
本地测试可以修改 hosts ⽂件(C:\Windows\System32\drivers\etc)
可以配置域名和 ip 的映射关系,如果 hosts ⽂件中配置了域名和 ip 的对应关系,不需要⾛dns 服务
器。
192.168.177.129 www.xzk.com
192.168.177.129 regist.xzk.com
做好域名指向后,修改nginx配置⽂件 domain.conf
server {
listen 80;
server_name www.xzk.com;
location / {
root /usr/share/nginx/cart;
index cart.html;
}
}
server {
listen 80;
server_name regist.xzk.com;
location / {
root /usr/share/nginx/search;
index search.html;
}
}