本地多项目通过Nginx来配置

来源:互联网 发布:矩阵的张量积 编辑:程序博客网 时间:2024/06/07 04:41

在开发环境中,经常会遇到多个项目同时运行的时候,那么现在通过nginx来实现不同域名访问不同的项目。
一般的配置分为两种,一种是在nginx.conf中直接配置(不利于扩展,耦合性高),另外一种是一个域名对应一个配置文件。
现选择第二种配置方法,例如一个服务器上面需要配置域名为www.nginxtest1.com,www.nginxtest2.com操作步骤为:
1、在C:\Windows\System32\drivers\etc目录中新建vhosts文件夹。
2、在vhosts文件夹下面分别新建www.nginxtest1.com.conf、www.nginxtest2.com.conf两个文件
3、以www.nginxtest1.com.conf配置为例,如下:

server{listen 80;server_name ceshi.banma.com;   ------------》这里写入你自己的域名(www.nginxtest1.com)index index.html index.htm index.php default.html default.htm default.php;root /var/data/www/banma;location / {index index.html index.php;if (-f $request_filename/index.html){rewrite (.*)  $1/index.html break;}if (-f $request_filename/index.php){rewrite (.*) $1/index.php;}if (!-f $request_filename){rewrite (.*) /index.php;}}location ~ [^/]\.php(/|$){fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_split_path_info ^(.+?\.php)(/.*)$;set $path_info $fastcgi_path_info;fastcgi_param PATH_INFO $path_info;try_files $fastcgi_script_name =404; }location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)${expires 30d;}location ~ .*\.(js|css)?${expires 12h;}location ~ /\.(ht|svn|bzr|git|hg|cvs) {deny all;}}

4、在nginx安装路径中nginx.conf 文件中,包含刚创建的两个文件
include /etc/vhosts/*
6、重启nginx服务器:service nginx reload
7、在本地的hosts文件里面加上 127.0.0.1 www.nginxtest1.com,127.0.0.1 www.nginxtest2.com

nginx详解:Nginx的代理功能和负载均衡功能是最常被用到的。
1、只接受get或者post请求方法
proxy_method get;
2、include mime.types; #文件扩展名与文件类型映射表
default_type application/octet-stream; #默认文件类型,默认为text/plain
#access_log off; #取消服务日志
log_format myFormat ’ remoteaddrremote_user [timelocal]request statusbody_bytes_sent httprefererhttp_user_agent $http_x_forwarded_for’; #自定义格式
access_log log/access.log myFormat; #combined为日志格式的默认值
sendfile on; #允许sendfile方式传输文件,默认为off,可以在http块,server块,location块。
sendfile_max_chunk 100k; #每个进程每次调用传输数量不能大于设定的值,默认为0,即不设上限。
keepalive_timeout 65; #连接超时时间,默认为75s,可以在http,server,location块。
proxy_connect_timeout 1; #nginx服务器与被代理的服务器建立连接的超时时间,默认60秒
proxy_read_timeout 1; #nginx服务器想被代理服务器组发出read请求后,等待响应的超时间,默认为60秒。
proxy_send_timeout 1; #nginx服务器想被代理服务器组发出write请求后,等待响应的超时间,默认为60秒。
proxy_http_version 1.0 ; #Nginx服务器提供代理服务的http协议版本1.0,1.1,默认设置为1.0版本。
#proxy_method get; #支持客户端的请求方法。post/get;
proxy_ignore_client_abort on; #客户端断网时,nginx服务器是否终端对被代理服务器的请求。默认为off。
proxy_ignore_headers “Expires” “Set-Cookie”; #Nginx服务器不处理设置的http相应投中的头域,这里空格隔开可以设置多个。
proxy_intercept_errors on; #如果被代理服务器返回的状态码为400或者大于400,设置的error_page配置起作用。默认为off。
proxy_headers_hash_max_size 1024; #存放http报文头的哈希表容量上限,默认为512个字符。
proxy_headers_hash_bucket_size 128; #nginx服务器申请存放http报文头的哈希表容量大小。默认为64个字符。
proxy_next_upstream timeout; #反向代理upstream中设置的服务器组,出现故障时,被代理服务器返回的状态值。error|timeout|invalid_header|http_500|http_502|http_503|http_504|http_404|off
#proxy_ssl_session_reuse on; 默认为on,如果我们在错误日志中发现“SSL3_GET_FINSHED:digest check failed”的情况时,可以将该指令设置为off。
负载均衡详解:
1、热备:如果你有2台服务器,当一台服务器发生事故时,才启用第二台服务器给提供服务。服务器处理请求的顺序:AAAAAA突然A挂啦,BBBBBBBBBBBBBB…..
upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121:333 backup ;}
2、轮询:nginx默认的就是轮询所有权重为1,服务器请求顺序ABABABABAB…..
upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121:3333;}
3、加权轮询:根据配置的权重的大小而分发给不同服务器不同数量的请求,如果不设置,则默认为1,下面服务器请求顺序为:ABBABBABBABBABB……
upstream mysvr {
server 127.0.0.1:7878;
server 192.168.10.121:333 weight=2 ;}
4、ip_hash:nginx会让相同的客户端ip请求Ian共同的服务器。
5、其他一些配置
down,表示当前的server暂时不参与负载均衡。
backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。
max_fails,允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。
fail_timeout,在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 1岁宝宝牙龈红肿怎么办 4岁宝宝牙龈红肿怎么办 儿童牙黑了怎么办啊 牙黑了掉了一块怎么办 1岁幼儿牙齿腐蚀怎么办 我的大牙变黑了怎么办 牙齿里面黑了疼怎么办 最里面的牙黑了怎么办 牙龈的肉裂开了怎么办 有蛀牙怎么办可以变好么 拔智齿没拔干净怎么办 蛀牙只剩牙根了怎么办 牙掉的就剩牙根怎么办 蛀牙牙冠都掉了怎么办 拔智齿断了牙根怎么办 牙肉肿痛有脓包怎么办 种植牙到寿命后怎么办 牙齿松动快掉了怎么办 一颗牙齿松动了怎么办 种植牙牙冠掉了怎么办 牙就剩下牙根了怎么办 后面的大牙掉了怎么办 两边大牙都没了怎么办 拔牙把牙根断了怎么办 拔乳牙牙根断了怎么办 拔牙时牙根断了怎么办 孕晚期牙根掉了怎么办 根管治疗后牙裂怎么办 智齿拔断了牙根怎么办 大牙断了牙根还在怎么办 孕妇牙疼的要命怎么办 牙烂了个大窟窿怎么办 牙齿又痒又痛怎么办 大牙就剩牙根了怎么办 蛀牙只剩牙根痛怎么办 带牙冠的牙疼了怎么办 牙龈肉与牙分离怎么办 后槽牙松动还疼怎么办 嘴唇又干又痒怎么办 嘴唇边突然肿了怎么办 大牙齿蛀牙很疼怎么办