Nginx简介
众所周知,Nginx是 Apache服务不错的替代品。其特点是占有内存少,并发能力强,事实上 Nginx 的并发能力在同类型的网页服务器中表现较好,因此国内知名大厂例如:淘宝,京东,百度,新浪,网易,腾讯等等都在使用Nginx网站。
Nginx是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,同时也提供了 IMAP/POP3/SMTP 服务,可以不间断运行,提供热更新功能。占用内存少、并发能力强,最重要的是,Nginx是免费的并可以商业化,配置使用都比较简单。
Nginx 特点
- 高并发、高性能
- 模块化架构使得它的扩展性非常好
- 异步非阻塞的事件驱动模型这点和 Node.js 相似
- 无需重启可不间断运行
- 热部署、平滑升级
- 完全开源,生态好
Nginx 最重要的几个使用场景:
- 静态资源服务
- 反向代理服务,包括缓存、负载均衡等
- API 服务,OpenResty
Nginx配置
进程相关的配置
worker_processes 8;#Nginx 进程数,建议按照CPU数目来指定,一般为它的倍数 (如,2个四核的CPU计为8)
worker_rlimit_nofile 65535; #一个Nginx 进程打开的最多文件描述符数目worker_connections 65535;#每个进程允许的最多连接数
监听端口
server {
listen 80; #监听端口
server_name www.qianlan.shop; #域名信息
location / {root/www/www; #网站根目录
index index.html index.htm; #默认首页类型
deny ip; #禁止访问的ip地址,可以为all
allow ip; #允许访问的ip地址,可以为all
}
}
配置 Nginx 状态页面
[root@proxy ~]# cat /usr/local/nginx/conf/nginx.conf… …location /NginxStatus { stub_status on;
access_log on;
auth_basic "NginxStatus";
auth_basic_user_file conf/htpasswd;}
[root@proxy ~]# /usr/local/nginx/sbin/nginx -s reload
http 相关的配置
http {
sendfile on #高效传输文件的模式 一定要开启
keepalive_timeout 65}#客户端服务端请求超时时间
静态资源配置
server {
listen 80;
server_name www.qianlan.shop;
location /static {/root/wwww/web/web_static_site;}
}
负载均衡
upstream server_pools {
server 192.168.1.11:8880 weight=5;
server 192.168.1.12:9990 weight=1;
server 192.168.1.13:8989 weight=6; #weigth参数表示权值,权值越高被分配到的几率越大}
server { listen 80; server_name mingongge.com; location / { proxy_pass http://server_pools; }}
重定向配置
location / { return 404; #直接返回状态码}
location / { return 404 "pages not found"; #返回状态码 + 一段文本}
location / { return 302 /blog ; #返回状态码 + 重定向地址}
location / { return https://www.qianlan.shop ; #返回重定向地址}
SSL 证书配及跳转HTTPS配置
server {
listen ip:443 ssl;
server_tokens off;
server_name 域名;# www.qianlan.shop
root 静态位置;
ssl_certificate 位置;
ssl_certificate_key 位置;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;}
# Permanent Redirect for HTTP to HTTPSserver { listen 80;
server_name 域名;
https://$server_name$request_uri;}