这个博客已经过去了很久……

不过,你可以通过以下方式找到我

现在的位置: 首页 > 谈前端 > JavaScript > 正文
nginx配置,以及设置多域名多站点的方法
2013年05月20日 JavaScript ⁄ 共 6287字 等你评论

nginx

 

nginx的详细介绍我是不会告诉别人可以google一下的……

此文主要介绍nginx的多站点多域名的配置:

1、最简单的三步配置:

第一步:在 X:\nginx\conf 目录下面打开nginx.conf文件:

在http中写入:

  1. include vhosts/*.conf;  

 

第二步:在第一步中新建一个 vhosts 文件夹,然后打开文件夹新建web_demo.conf文件

第三步:打开刚刚新建的文件,路径是:X:\nginx\conf\vhosts\web_demo.conf 写入

  1. server {  
  2.     listen 80;  
  3.     server_name www.demo.com;  
  4.     location / {  
  5.       root D:/www/etao;  
  6.       index index.html index.htm;  
  7.     }  
  8. }  

ok到这里已经可以重启nginx了,我是不会说最懒重启的方法是:结束nginx的进程,再去nginx的目录里面,双击启动的……

当然,如果你是一个完美主义者那么最后一步的代码可以改成这个样子:

  1. server {   
  2.     listen 80;                 
  3.     #监听的端口号   
  4.     server_name demo2.com;          
  5.     #域名   
  6.     access_log logs/host.access.log main;   
  7.     location / {   
  8.         root d:/www/highsea90;      
  9.         #站点的路径   
  10.         index default.php index.php index.html index.htm;   
  11.         #站点的rewrite在这里写   
  12.         rewrite ^/(\w+)\.html$ /$1.php;   
  13.         rewrite ^/(\w+)/(\w+)$ /$1/$2.php;   
  14.     }   
  15.     #错误页的配置   
  16.     error_page 404 /error.html;   
  17.     error_page 500 502 503 504 /50x.html;   
  18.     location = /50x.html {   
  19.     root html;   
  20.     }   
  21.     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000   
  22.     location ~ \.php$ {   
  23.         root d:/www/etao;   
  24.         fastcgi_pass 127.0.0.1:9000;   
  25.         fastcgi_index index.php;   
  26.         fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;   
  27.         include fastcgi_params;   
  28.     }   
  29.     location ~ /\.ht {   
  30.         deny all;   
  31.     }   
  32. }   

 

你若还有强迫症,那么 nginx.conf 还可以这个样写:

  1. #运行用户  
  2. #user  nobody;  
  3. #启动进程,通常设置成和cpu的数量相等  
  4. worker_processes  1;  
  5.  
  6. #全局错误日志及PID文件  
  7. #error_log  logs/error.log;  
  8. #error_log  logs/error.log  notice;  
  9. #error_log  logs/error.log  info;  
  10. #pid        logs/nginx.pid;  
  11.  
  12.  
  13. #工作模式及连接数上限  
  14. events {  
  15.     #epoll是多路复用IO(I/O Multiplexing)中的一种方式,但是仅用于linux2.6以上内核,可以大大提高nginx的性能  
  16.     #use   epoll;   
  17.   
  18.     ;#单个后台worker process进程的最大并发链接数  
  19.     worker_connections  1024;  
  20. }  
  21.  
  22. #设定http服务器,利用它的反向代理功能提供负载均衡支持  
  23. http {  
  24.      
  25.     #设定mime类型,类型由mime.type文件定义  
  26.     include       mime.types;  
  27.     default_type  application/octet-stream;  
  28.  
  29.     #设定日志格式  
  30.     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '  
  31.     #                  '$status $body_bytes_sent "$http_referer" '  
  32.     #                  '"$http_user_agent" "$http_x_forwarded_for"';  
  33.  
  34.     #access_log  logs/access.log  main;  
  35.  
  36.  
  37.     #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件.  
  38.     #对于普通应用,必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.  
  39.     sendfile        on;  
  40.     #tcp_nopush     on;  
  41.  
  42.     #连接超时时间  
  43.     #keepalive_timeout  0;  
  44.     keepalive_timeout  65;  
  45.  
  46.     #开启gzip压缩  
  47.     #gzip  on;  
  48.     gzip_disable "MSIE [1-6]\.(?!.*SV1)";  
  49.  
  50.     #设定请求缓冲  
  51.     client_header_buffer_size    1k;  
  52.     large_client_header_buffers  4 4k;  
  53.   
  54.     include /etc/nginx/conf.d/*.conf;  
  55.     include /etc/nginx/sites-enabled/*;  
  56.  
  57.     #设定负载均衡的服务器列表  
  58.     #upstream mysvr {  
  59.     #weigth参数表示权值,权值越高被分配到的几率越大  
  60.     #本机上的Squid开启3128端口  
  61.     #server 127.0.0.1:3128 weight=5;  
  62.     #server 127.0.0.2:80  weight=1;  
  63.     #server 127.0.0.3.3:80  weight=6;  
  64.     }  
  65.   
  66.   
  67.     server {  
  68.     #监听80端口  
  69.         listen       80;  
  70.         #定义使用www.test.com访问  
  71.         server_name  localhost www.test.com test.com;  
  72.  
  73.         #charset koi8-r;  
  74.  
  75.         #设定本虚拟主机的访问日志  
  76.         access_log  logs/host.access.log  main;  
  77.  
  78.         #默认请求  
  79.         location / {  
  80.             #定义服务器的默认网站根目录位置  
  81.             root   html;  
  82.             #定义首页索引文件的名称  
  83.             index  index.html index.htm index.php;  
  84.   
  85.          fastcgi_pass  www.test.com;  
  86.          fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;   
  87.          include /etc/nginx/fastcgi_params;  
  88.         }  
  89.  
  90.         # 定义错误提示页面  
  91.         #error_page  404              /404.html;  
  92.  
  93.         # redirect server error pages to the static page /50x.html  
  94.         #  
  95.         error_page   500 502 503 504  /50x.html;  
  96.         location = /50x.html {  
  97.             root   html;  
  98.         }  
  99.  
  100.         #静态文件,nginx自己处理  
  101.         location ~ ^/(images|javascript|js|css|flash|media|static)/ {  
  102.            root /var/www/virtual/htdocs;  
  103.         #过期1天,静态文件不怎么更新,过期可以设大一点,如果频繁更新,则可以设置得小一点。  
  104.         expires 1d;  
  105.     }  
  106.  
  107. #PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.  
  108.     location ~ \.php$ {  
  109.         root /root;  
  110.         fastcgi_pass 127.0.0.1:9000;  
  111.         fastcgi_index index.php;  
  112.         fastcgi_param SCRIPT_FILENAME /home/www/www$fastcgi_script_name;  
  113.         include fastcgi_params;  
  114.     }  
  115.     #设定查看Nginx状态的地址  
  116.     location /NginxStatus {  
  117.         stub_status            on;  
  118.         access_log              on;  
  119.         auth_basic              "NginxStatus";  
  120.         auth_basic_user_file  conf/htpasswd;  
  121.     }  
  122.     #禁止访问 .htxxx 文件  
  123.     location ~ /\.ht {  
  124.         deny all;  
  125.     }  
  126.        
  127.      }  
  128. }  
  129.  
  130.  
  131.         # proxy the PHP scripts to Apache listening on 127.0.0.1:80  
  132.         #  
  133.         #location ~ \.php$ {  
  134.         #    proxy_pass   http://127.0.0.1;  
  135.         #}  
  136.  
  137.         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  
  138.         #  
  139.         #location ~ \.php$ {  
  140.         #    root           html;  
  141.         #    fastcgi_pass   127.0.0.1:9000;  
  142.         #    fastcgi_index  index.php;  
  143.         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;  
  144.         #    include        fastcgi_params;  
  145.         #}  
  146.  
  147.         # deny access to .htaccess files, if Apache's document root  
  148.         # concurs with nginx's one  
  149.         #  
  150.         #location ~ /\.ht {  
  151.         #    deny  all;  
  152.         #}  
  153.     }  
  154.  
  155.  
  156.     # another virtual host using mix of IP-, name-, and port-based configuration  
  157.     #  
  158.     #server {  
  159.     #    listen       8000;  
  160.     #    listen       somename:8080;  
  161.     #    server_name  somename  alias  another.alias;  
  162.  
  163.     #    location / {  
  164.     #        root   html;  
  165.     #        index  index.html index.htm;  
  166.     #    }  
  167.     #}  
  168.  
  169.  
  170.     # HTTPS server  
  171.     #  
  172.     #server {  
  173.     #    listen       443;  
  174.     #    server_name  localhost;  
  175.  
  176.     #    ssl                  on;  
  177.     #    ssl_certificate      cert.pem;  
  178.     #    ssl_certificate_key  cert.key;  
  179.  
  180.     #    ssl_session_timeout  5m;  
  181.  
  182.     #    ssl_protocols  SSLv2 SSLv3 TLSv1;  
  183.     #    ssl_ciphers  HIGH:!aNULL:!MD5;  
  184.     #    ssl_prefer_server_ciphers   on;  
  185.  
  186.     #    location / {  
  187.     #        root   html;  
  188.     #        index  index.html index.htm;  
  189.     #    }  
  190.     #}  
  191.   
  192.     include vhosts/*.conf;  
  193. }  

 

如果……如果……如果……

友荐云推荐
×