Nginx的一些常用配置汇总

目录
  • Nginx配置文件结构
  • Nginx日志切割
  • root 与 alias
  • 使用GZIP压缩提升请求效率
  • location匹配规则解析
  • 使用SwitchHosts模拟本地域名解析
  • Nginx跨域配置支持
  • Nginx防盗链支持
  • Nginx负载均衡
  • upstream指令参数
  • Keepalived 提高吞吐量
  • Nginx的缓存
  • Nginx的反向代理缓存
  • 使用Nginx配置HTTPS域名证书
  • 总结

Nginx配置文件结构

1、设置worker进程的用户,指的linux中的用户,会涉及到nginx操作目录或文件的一些权限,默认为 nobodyuser root;

2、worker进程工作数设置,一般来说CPU有几个,就设置几个,或者设置为N-1也行。worker_processes 1;

3、nginx日志级别 debug |info |notice |warn | error | crit 丨 alert | emerg,错误级别从左到右越来越大

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

4、设置nginx进程 pid

pid logs/nginx.pid;

5、设置工作模式

events {
	# 默认使用epolL
	use epoll;
	# 每个worker允许连接的客户端最大连接数
	worker_connections 1024;
}

6、http 是指令块,针对http网络传输的一些指令配置

http {
}

7、include引入外部配置,提高可读性,避免单个配置文件过大

include mime.types;

8、设定日志格式, main 为定义的格式名称,如此 access_log就可以直接使用这个变量了

#log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
#                  '$status $body_bytes_sent "$http_referer" '
#                  '"$http_user_agent" "$http_x_forwarded_for"';

#access_log  logs/access.log  main;
参数名 参数意义
$remote_addr 客户端ip
$remote_user 远程客户端用户名,一般为:‘-’
$time_local 时间和时区
$request 请求的url以及method
$status 响应的状态码
$body_bytes_sent 响应客户端内容字节数
$http_referer 记录用户从哪个链接跳过来
$http_user_agent 用户所使用的代理,一般来时都是浏览器
$http_x_forwarded_for 通过代理服务器来记录客户端的ip

9、sendfile 使用高效文件传输,提升传输性能。启用后才能使用 tcp_nopush,是指当数据表累积一定大小后才发送,提高了效率。

sendfile        on;
tcp_nopush     on;

10、keepalive_timeout设置客户端与服务端请求的超时时间,保证客户端多次请求的时候不会重复建立新的连接,节约资源损耗。

#keepalive_timeout  0;
keepalive_timeout  65;

11、gzip 启用压缩,html/js/css压缩后传输会更快

#gzip on;

12、server 可以在 http指令块中设置多个虚拟主机

  • listen 监听端口
  • server_name localhost、ip、域名
  • location请求路由映射,匹配拦截
  • root 请求位置
  • index 首页设置
server {
    listen       80;
    server_name  localhost;
    location / {
        root   html;
        index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

Nginx日志切割

手动切割

现有的日志都会存在 access.log 文件中,但是随着时间的推移,这个文件的内容会越来越多,体积会越来越大,不便于运维人员,查看,所以我们可以通过把这个大的日志文件切割为多份不同的小文件作为日志,切割规则可以以天 为单位,如果每天有几百G或者几个T的日志的话,则可以按需以每半天 或者 每小时 对日志切割一下。

具体步骤如下∶

1、到nginx的sbin目录,创建一个shell可执行文件∶ cut_my_log.sh,内容为∶

#!/bin/ bash
L0G_PATH="/var/log/nginx"
RECORD_TIME=$(date -d "yesterday" +%Y-%m-%d+%H:%M)
PID=/var/run/nginx/nginx.pid
mv ${LOG_PATH}/access.log ${LOG_PATH}/access.${RECORD_TIME}.log
mv ${LOG_PATH}/error.log ${LOG_PATH}/error.${RECORD_TIME}.log
#向Nginx主进程发送信号,用于重新打开日志文件
kill -USR1 `cat $PID`

2、为 cut_my_log.sh 添加可执行的权限∶

chmod +x cut_my_log.sh

测试日志切割后的结果∶

./cut_my_Log.sh

定时切割:使用定时任务

1、安装定时任务∶

yum install crontabs

2、crontab -e 编辑并且添加一行新的任务∶

*/1 * * * * /usr/local/nginx/sbin/cut_my_log.sh

3、重启定时任务∶

service crond restart

● 附∶常用定时任务命令∶

service crond start			//启动服务
service crond stop			//关闭服务
service crond restart		//重启服务
service crond reload		//重新载入配置
crontab -e					//编辑任务
crontab -l					//查看任务列表

定时任务表达式∶

Cron表达式分为5或6个域,每个域代表一个含义,如下所示∶

取值范围 星期几 年(可选)
取值范围 0-59 0-23 1-31 1-12 1-7 2020/2021/2022/...

常用表达式∶

  • 每分钟执行∶*/1 * * * *
  • 每日凌晨(每天晚上23∶59)执行∶59 23 * * *
  • 每日凌晨1点执行∶0 1 * * *

root 与 alias

假如服务器路径为∶/home/imooc/files/img/face.png

  • root 路径完全匹配访问

配置的时候为∶

location /imooc {
    root /home
}

用户访问的时候请求为∶url:port/imooc/files/img/face.png

  • alias 可以为你的路径做一个别名,对用户透明

配置的时候为∶

location /hello {
    alias /home/imooc
}

用户访问的时候请求为∶url:port/hello/files/img/face.png,如此相当于为目录 imooc做一个自定义的别名。

使用GZIP压缩提升请求效率

# 开启gzip压缩功能,目的∶提高传输效率,节约带宽
gzip on;
# 限制最小压缩,小于1字节文件不会压缩
gzip_min_length 1;
# 定义压缩的级别(压缩比,文件越大,压缩越多,但是cpu使用会越多)
gzip_comp_level 3;
# 定义压缩文件的类型
gzip_types text/plain application/javascript application/x-javascript text/css applicatio n/xmL text/javascript application/x-httpd-php image/jpeg image/gif image/png application/jison;

location匹配规则解析

空格∶默认匹配,普通匹配

location / {
	root /home
}

=∶精确匹配。

location = /imooc/img/face1.png {
	root /home;
}

~*∶匹配正则表达式,不区分大小写

# 符合图片的显示
location ~* \.(GIF|jpg|png|jpeg){
	root /home;
}

~∶匹配正则表达式,区分大小写

# GIF必须大写才能匹配到
location ~ \.(GIF|jpg|png|jpeg){
	root /home;
}

^~∶以某个字符路径开头

location ^~ /imooc/img {
	root /home;
}

使用SwitchHosts模拟本地域名解析

下载SwitchHosts工具添加配置:192.168.170.129 www.baidu.com,或者找到本机的hosts文件,添加这行配置,本地域名就模拟好了,如下:

Nginx跨域配置支持

#允许跨域请求的域,*代表所有
add_header 'Access-Control-Allow-Origin' *;
#允许带上cookie请求
add_header 'Access-Control-Allow-Credentials' 'true';
#允许请求的方法,比如 GET/POST/PUT/DELETE
add_header 'Access-Control-Allow-Methods' *;
#允许请求的header
add_header 'Access-Control-Allow-Headers' *;

Nginx防盗链支持

为了 保证自己网站的静态资源不能被其它网站引用,我们可以在nginx中做如下配置:

#对源站点验证
valid_referers *.imooc.com;
#非法引入会进入下方判断
if ($invalid_referer) {
	return 404;
}

Nginx负载均衡

OSI 网络模型

在讲到Nginx负载均衡的时候,其实Nginx是七层负载均衡,后续我们还会涉及到LVS,是四层负载均衡,七层和四层是什么概念呢?这就必须提到网络模型。网络模型是计算机网络基础的一部分内容,一般大学计算机系都会讲到此知识点,并且会作为考点;其实在面试过程中有时候也会被问到。所以我们还是有必要来复习或学习一下这块的一些重要知识的。

网络模型就是 OSI(0pen System Interconnect),意思为 开放网络互联 ,是由国际标准化组织(ISO)和国际电报电话咨询委员会(CCITT)共同出版的,他是一种网络互联模型,也是一种规范。

网络模型分为七层,也就是当用户发起请求到服务器接收,会历经七道工序,或者说用户利用互联网发送消息给另一个用户,也会历经七道工序。这七层可以分为如下∶

层级 名称 说明
第七层 应用层 与用户行为交互
第六层 表示层 定义数据格式以及数据加密
第五层 会话层 创建、管理以及销毁会话
第四层 传输层 创建、管理请求端到响应端(端到端)的连接
第三层 网络层 请求端的IP地址
第二层 数据链路层 提供介质访问与链路管理
第一层 物理层 传输介质,物理媒介

以上七层每层可以与上下相邻层进行通信。每一层都是非常复杂的,我们不在这里深究,我们以举例的形式来阐述每一层是干嘛的。

  • 应用层: 这是面向用户的,最靠近用户,为了让用户和计算机交互,在计算机里会有很多软件,比如eclipse,idea,qq,微信,淘宝等,这些都是应用软件,用户可以通过这些应用软件和计算机交互,交互的过程其实就是接口的调用,应用层为用户提供了交互的接口,以此为用户提供交互服务。那么在这一层最常见的协议有∶HTTP,HTTPS,FTP,SMTP,POP3等。Nginx在本层,为七层负载均衡。
    举例∶我要寄一封信给远在天边的老外LiLei,我会打开快递软件下单,这个时候我是 用户,快递软件就是 应用服务,是建立在计算机上的,提供给用户交互的一种服务或称之为手段。
  • 表示层: 该层提供数据格式编码以及加密功能,确保 请求端 的数据能被 响应端 的应用层识别。
    举例∶我写中文给LiLei,他看不懂,这个时候我就会使用翻译软件把中文翻译成英文,随后信中涉及到一些比较隐私的信息我会加密一下,这个时候翻译软件和加密器就充当了 表示层 的作用,他用于显示用户能够识别的内容。
  • 会话层: 会话可以理解为session,请求发送到接受响应的这个过程之间存在会话,会话层就充当了这一过程的管理者,从创建会话到维护会话最后销毁会话。
    举例∶我每次写信给LiLei都会记录在一个小本本上,寄信时间日期,收信时间日期,这本小本本上存有每次通信记录,这个小本本就相当于是一个会话的管理者。又或者说,我们平时在打电话,首先需要拨打电话,这是 建立会话 ,对方接听电话,此时正在通话(维持并管理会话),通话结束后会话销毁 ,那么这也是一次会话的生命周期。
  • 传输层: 该层建立端到端的连接,他提供了数据传输服务,在传输层通信会涉及到端口号,本层常见的协议为TCP、UDP,LVS就是在传输层,也就是四层负载均衡。
    举例∶我和LiLei通信过程中会借助快递公司,快递公司会分配快递员取件和寄件,那么这个快递员则充当 传输层 的斋田。
  • 网络层: 网络通信的时候必须要有本机IP和对方的IP,请求端和响应端都会有自己的IP的,IP就相当于你家地址门牌号,在网络上云服务器有固定的公网IP,普通计算机也有,只不过是动态IP,运营商每天会分配不同的IP给你的计算机。所以网络层也能称之为IP层,IP是互联网的基础根本。能提供IP分配的设备则为路由器或交换机。
    举例∶对于拥有固定IP的云服务来说,他们都是由腾讯云、阿里云等这样的供应商提供的,他们为云服务器提供固定ip ;电信、移动、联调等运营商为你的计算机动态分配ip,每天都不同;则这些供应商和运营商都是网络层。同理,快递员由物流公司分配和管理,那么物流公司就是 网络层 咯。
  • 数据链路层: 这一层会提供计算机MAC地址,通信的时候会携带,为了确保请求投递正确,所以他会验证检测MAC 地址,以确保请求响应的可靠性。
    举例∶快递员在投递派送的时候,他(或客服)会预先提前打电话给你,确认你家地址对不对、有没有人、货到付款有没有准备好钱等等,这个时候快递员(或客服)就充当了数据链路层 的职责。
  • 物理层∶ 端到端请求响应过程中的媒介,物理介质,比如网线、中继器等等设备,都是你在端到端交互过程中不可缺少的基础设备。
    举例∶快递员在投递的过程中,你写的信会历经一些交通运输工具,比如首先通过飞机运输到国外,在海关统一拿到信以后会通过汽车运输到LiLei所在城市的物流集散地,最后快递员通过三轮电频车寄到LiLei家里,这个时候,飞机、汽车、三轮电瓶车都是 物理层 的媒介。

负载均衡策略:

轮询:轮询是Nginx负载均衡的默认策略。使用场景:针对每个服务器硬件配置一样。

加权轮询(weight):根据设置的权重值去分配处理请求的数量。使用场景:服务器硬件配置有差异,让好的服务器去处理更多的请求。

ip_hash:对请求用户的IP地址进行hash运算后得到的值,再对服务器数量进行取模运算。让同一用户的请求落到固定的服务器上。这样就可以保证用户访问可以请求到上游服务中的固定的服务器,前提是用户ip没有发生更改。使用ip hash的注意点∶不能把后台服务器直接移除,只能标记 down .

upstream tomcats {
	ip_hash;

	server 192.168.1.173:8080;
	server 192.168.1.174:8080 down;
	server 192.168.1.175:8080;
}

一致性哈希算法:让每台服务器IP的hash值落在哈希环节点上,在用户请求到Nginx时,根据顺时针就近原则落到最近的服务器节点。

url_hash:根据每次请求的url地址,hash后访问到固定的服务器节点。

upstream tomcats {
	# url  hash
	hash $request_uri;
	# 最少连接数
	# least_Conn
	server 192.168.1.173:8080;
	server 192.168.1.174:8080;
	server 192.168.1.175:8080;
}

server {
	listen 80;
	server_name www.tomcats.Com;

	location / {
		proxy_pass http://tomcats;
	}
}

upstream指令参数

max_conns:限制每台server的连接数,用于保护避免过载,可起到限流作用。测试参考配置如下∶

# worker进程设置1个,便于测试观察成功的连接数
worker_processes 1;

upstream tomcats {
	server 192.168.1.173:8080 max_conns=2;
	server 192.168.1.174:8080 max_conns=2;
	server 192.168.1.175:8080 max_conns=2;
}

slow_start:商业版,需要付费。配置参考如下:

upstream tomcats {
	server 192.168.1.173:8080 weight=6 slow_start=60
	server 192.168.1.174:8080 weight=2;
	server 192.168.1.175:8080 weight=2;
}
  • 该参数不能使用在 hash 和 random Load balancing 中。
  • 如果在 upstream 中只有一台server,则该参数失效。

down、backup

down 用于标记服务节点不可用∶

upstream tomcats {
	server 192.168.1.173:8080 down;
	server 192.168.1.174:8080 weight=1;
	server 192.168.1.175:8080 weight=1;
}

表示当前服务器节点是备用机,只有在其他的服务器都宕机以后,自己才会加入到集群中,被用户访问到

upstream tomcats {
	server 192.168.1.173:8080 backup;
	server 192.168.1.174:8080 weight=1;
	server 192.168.1.175:8080 weight=1;
}

注意:backup参数不能使用在 hash 和 random Load balancing 中。

max_fails、fail_timeout

  • max_fails∶表示失败几次,则标记server已宕机,剔出上游服务。
  • fail_timeout∶表示失败的重试时间。假设目前设置如下∶
max_fails=2 fail_timeout=15s

则代表在15秒内请求某一server失败达到2次后,则认为该server已经挂了或者宕机了,随后再过15秒,这15秒内不会有新的请求到达刚刚挂掉的节点上,而是会请求到正常运作的server,15秒后会再有新请求尝试连接挂掉的server,如果还是失败,重复上一过程,直到恢复。

Keepalived 提高吞吐量

keepalived ∶ 设置长连接处理的数量

proxy_http_version ∶设置长连接http版本为1.1

proxy_set_header ∶清除connection header信息

upstream tomcats {
	#server 192.168.1.173:8080 max_fails=2 failtimeout=1s;
	server 192.168.1.190:8080;
	#server 192.168.1.174:8080 weight=1;
	server 192.168.1.175:8080 weight=1;keepalive 32
}

server {
	listen 80;
	server_name: www.tomcats.com;

	location / {
		proxy_pass http://tomcats;
		proxy_http_version 1.1;
		proxy_set_header Connection "";
	}
}

Nginx的缓存

浏览器缓存:加速用户访问,提升单个用户(浏览器访问者)体验,缓存在本地

Nginx缓存:

  • 缓存在nginx端,提升所有访问到nginx这一端的用户
  • 提升访问上游(upstream)服务器的速度
  • 用户访问仍然会产生请求流量

控制浏览器缓存

location /files {
	alias /home/imooc;
	# expires 10s;
	# expires @22h30m;
	# expires -1h;
	# expires epoch;
	# expires off;
	expires max;
}

Nginx的反向代理缓存

# proxy_cache_path 设置缓存目录#
# keys_zone 设置共享内存以及占用空间大小
# max_size 设置缓存大小
# inactive 超过此时间则被清理
# use_temp_path 临时目录,使用后会影响nginx性能
proxy_cache_path /usr/local/nginx/upstream_cache keys_zone=mycache:5m max_size=1g inactive=1m use_temp_path=off;
location / {
	proxy_pass http://tomcats;
	# 启用缓存,和keyS_zone一致
	proxy_cache mycache;
	# 针对200和304状态码缓存时间为8小时
	proxy_cache_valid 200 304 8h;

使用Nginx配置HTTPS域名证书

安装SSL模块:要在nginx中配置https,就必须安装ssl模块,也就是∶http_ssl_module

1、进入到nginx的解压目录∶ /home/software/nginx-1.16.1

2、新增ssl模块(原来的那些模块需要保留)

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/Log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi \
--with-http_ssl_module

3、编译和安装

make
make install

配置HTTPS

1、把ssl证书 *.crt 和私钥*.key拷贝到/usr/local/nginx/conf 目录中。

2、新增 server 监听 443端口∶

server {
	listen 443;
	server_name www.imoocdsp.com;

	# 开启ssl
	ssl on;
	# 配置ssl证书
	ssl_certificate	1_www.imoocdsp.com_bundle
	# 配置证书秘钥
	ssl_certificate_key 2_www.imoocdsp.com.key;

	# ssl会话
	ssl_session_cache shared:SSL:1m
	# ssl会话超时时间
	ssl_session_timeout 5m;

	# 配置加密套件,写法遵循 openssl 标准
	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!
	ssl_prefer_server_ciphers on;

	location / {
		proxy_pass http://tomcats/;
		index index.html index.htm;
	}
}

3、reload nginx:./nginx -s reload

附:腾讯云Nginx配置https文档地址

总结

到此这篇关于Nginx的一些常用配置汇总的文章就介绍到这了,更多相关Nginx常用配置内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 一台nginx服务器多域名配置的方法

    Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了. 下面我就来说说server_name的使用吧: server_name的匹配顺序 Nginx中的server_name指令主要用于配置基于名称虚拟主机,server_name指令在接到请求后的匹配顺序分别为: 1.准确的server_name匹配,例如: server { listen 80; server_name ssdr.info www.s

  • 很详细的Nginx配置说明

    Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的.从2004年发布至今,凭借开源的力量,已经接近成熟与完善. Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器.支持FastCGI.SSL.Virtual Host.URL Rewrite.Gzip等功能.并且支持很多第三方的模块扩展. Nginx的稳定性.功能集.示例配置文件和低系统资源的消耗让他后来居上,在全球活跃的网站中有12.18%的使用比率,大约为2220万个网站. Ng

  • Nginx服务器搭建和基本配置详解

    Nginx(engine X) 是一个高性能的 HTTP 服务器和反向代理服务器,这款软件开发的目的是为了解决 C10k 问题. Nginx 的架构利用了许多现代操作系统的特性,以实现一个高性能的 HTTP 服务器.例如在 Linux 系统上,Nginx 使用了 epoll,sendfile,File AIO,DIRECTIO 等机制,使得 Nginx 不仅性能高效,而且资源占用率非常低,官方宣称 nginx 维持 10000 个非活动的 HTTP keep-alive 连接仅需要 2.5M 内

  • 详解Nginx服务器中配置超时时间的方法

    一.啥时候用到 用来设置请求资源和服务器返回的时间,保证一个请求占用固定时间,超出后报504超时!这样可以保证一个请求占用过长时间. 二.主要参数 使用nginx服务器如果遇到timeou情况时可以如下设置参数,使用fastcgi: fastcgi_connect_timeout 75;  链接 fastcgi_read_timeout 600;   读取 fastcgi_send_timeout 600;   发请求 这两个选项.          fastcgi_read_timeout是指

  • Nginx服务器中的location配置详解

    语法 location  [=|~|~*|^~] /uri/  {...} 规则 = : 表示精确的URI匹配(有兴趣的同学可以看一下url和uri的区别) -: 表示区分大小写的正则匹配 -*:表示不区分大小写的正则匹配 !~ && !~*:表示区分大小写不匹配的正则和不区分大小写的不匹配的正则 /:通用匹配,任何请求都会匹配到 location匹配目标 location匹配测试只使用请求URI的部分,而不使用参数部分.(原因:参数的写法太多,无法精确匹配) location匹配顺序 多

  • nginx 多站点配置方法集合

    那么我们开始吧: 1.为我们的站点创建配置文件 我是这么做的,在nginx的配置文件conf目录下创建一个专门存放VirtualHost的目录,命名为vhosts_conf,可以把虚拟目录的配置全部放在这里.在里面创建名为vhosts_modoupi_websuitA.conf的配置文件并打开,我们在这里做配置,往里面写: 复制代码 代码如下: server { listen 80; #监听的端口号 server_name websuitA.com; #域名 #access_log logs/h

  • Nginx的一些常用配置汇总

    目录 Nginx配置文件结构 Nginx日志切割 root 与 alias 使用GZIP压缩提升请求效率 location匹配规则解析 使用SwitchHosts模拟本地域名解析 Nginx跨域配置支持 Nginx防盗链支持 Nginx负载均衡 upstream指令参数 Keepalived 提高吞吐量 Nginx的缓存 Nginx的反向代理缓存 使用Nginx配置HTTPS域名证书 总结 Nginx配置文件结构 1.设置worker进程的用户,指的linux中的用户,会涉及到nginx操作目录

  • Nginx配置文件nginx.conf的常用配置方法

    Nginx使 用有两三年了,现在经常碰到有新用户问一些很基本的问题,我也没时间一一回答,今天下午花了点时间,结合自己的使用经验,把Nginx的主要配置参数说明 分享一下,也参考了一些网络的内容,这篇是目前最完整的Nginx配置参数中文说明了.更详细的模块参数请参 考:http://wiki.nginx.org/Main 复制代码 代码如下: #定义Nginx运行的用户和用户组 user www www; #nginx进程数,建议设置为等于CPU总核心数. worker_processes 8;

  • Nginx的一些常用配置与技巧总结

    前言 文章列举了几个Nginx常见的,实用的,有趣的配置,希望看过之后能说一句:学到了! 一个站点配置多个域名 server { listen 80; server_name ops-coffee.cn b.ops-coffee.cn; } server_name 后跟多个域名即可,多个域名之间用空格分隔 一个服务配置多个站点 server { listen 80; server_name a.ops-coffee.cn; location / { root /home/project/pa;

  • Nginx各个模块的配置及常用配置选项

    目录 Nginx Location配置 请求转发和重定向 Nginx静态文件配置 文件下载服务器 Nginx配置HTTPS Nginx日志配置 Nginx超时设置 请求超时设置 Proxy反向代理超时设置 Nginx负载均衡 轮询(默认) 权重(weight) ip_hash url_hash fair(第三方) Nginx与uWSGI服务器的沟通 小结 接下来,我们仔细分析下Nginx各个模块的配置选项.注意:http块也可以进一步分成3块,http全局块里的配置对所有站点生效,server块

  • Nginx安装后常用功能配置基础篇

    前言 为了在使用中更高效简洁,Nginx安装后通常会进行一些常用的配置. 1.主配置文件与虚拟主机分离 如果虚拟主机很多的话,进行分离看起来会更方便,还可以按功能.业务进行划分,下面以两个虚拟主机为例. 完整的除去空行和注释后的配置文件: [root@nginx-01 conf]# egrep -v "#|^$" nginx.conf.bak worker_processes 1; events { worker_connections 1024; } http { include m

  • nginx常用配置conf的示例代码详解

    nginx常用配置conf 代理静态文件 # 静态文件 server { # 压缩问价你配置 gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_http_version 1.1; gzip_comp_level 6; gzip_types text/plain text/css application/javascript application/json image/jpeg image/png image/gif; gzip_disa

  • ThinkPHP的常用配置选项汇总

    本文实例讲述了ThinkPHP的常用配置选项.分享给大家供大家参考,具体如下: return array( /* Dispatch设置 */ 'DISPATCH_ON' => true, // 是否启用Dispatcher // URL模式: 0 普通模式 1 PATHINFO 2 REWRITE 3 兼容模式 当DISPATCH_ON开启后有效 'URL_MODEL' => 1, // 默认为PATHINFO 模式,提供最好的用户体验和SEO支持 // PATHINFO 模式 // 普通模式

  • 服务器Ubuntu常用命令汇总

    下面的命令大都需要在 控制台 / 终端 / shell 下输入. 任何一个使用 'sudo' 作为前缀的命令都需要拥有管理员 (或 root) 访问权限. 所以你会被提示输入你自己的密码. 查看软件xxx安装内容 查看显卡使用情况 nvidia-smi 查看硬盘使用情况 df -hl # 查看磁盘剩余空间 df -h # 查看每个根路径的分区大小 查看用户配额及使用情况 quota -uvs username 打开visdom python -m visdom.server 后面可加参数,如在9

  • Ubuntu服务器常用命令汇总

    下面的命令大都需要在 控制台 / 终端 / shell 下输入. 任何一个使用 'sudo' 作为前缀的命令都需要拥有管理员 (或 root) 访问权限. 所以你会被提示输入你自己的密码. 查看软件xxx安装内容 查看显卡使用情况 nvidia-smi 查看硬盘使用情况 df -hl # 查看磁盘剩余空间 df -h # 查看每个根路径的分区大小 查看用户配额及使用情况 quota -uvs username 打开visdom python -m visdom.server 后面可加参数,如在9

  • SpringMVC结构简介及常用注解汇总

    MVC结构简介 Model(模型):数据模型,提供要展示的数据,因此包含数据和行为.现在一般分离为数据层Dao和服务层Service,提供了模型数据查询和模型数据的状态更新等功能. View(视图):负责进行模型的展示,一般指用户界面. Controller(控制器):接受用户请求,并委托模型进行处理(状态改变),处理完返回模型数据给视图,交由视图进行展示. SpringMVC简介 SpringMVC是SpringFramework的一部分,是Java实现MVC的轻量级Web框架. Spring

随机推荐