当前位置: > Linux服务器 > nginx >

Nginx 多站点配置

时间:2016-11-21 19:50来源:linux.it.net.cn 作者:IT

一、创建站点配置文件

1、在 nginx conf 目录中创建 vhost 文件夹以及配置文件,这里假设站点为 www.a.com

 
  1. $ pwd  
  2. /usr/local/nginx/conf  
  3. $ sudo mkdir vhosts  
  4. $ sudo vim vhosts/www.a.com.conf #新站点配置文件  

2、将如下内容写入 www.a.com.conf 文件中,该内容可从 nginx.cnf 文件中截取 server 节点修改。

修改以下两点:

server_name www.a.com; #此处 www.a.com 为访问域名

root /mnt/www/www.a.com; #文件存放目录,此处 www.a.com 为文件夹名称

修改结果如下:

 
  1. server {  
  2.      listen       80;  
  3.      server_name  www.a.com; #此处 www.a.com 为访问域名  
  4.   
  5.      #charset koi8-r;  
  6.   
  7.      #access_log  logs/host.access.log  main;  
  8.   
  9.      location / {  
  10.          root   /mnt/www/www.a.com; #文件存放目录,此处 www.a.com 为文件夹名称  
  11.          index  index.html index.htm;  
  12.      }  
  13.   
  14.      #error_page  404              /404.html;  
  15.   
  16.      # redirect server error pages to the static page /50x.html  
  17.      #  
  18.      error_page   500 502 503 504  /50x.html;  
  19.      location = /50x.html {  
  20.          root   html;  
  21.      }  
  22.  }  

 

二、创建Nginx配置文件


 

在 http 节点最底部增加 include vhosts/*.conf; nginx配置文件是顺序加载的!

修改完毕,内容如下:

 
  1. #user  nobody;  
  2. worker_processes  1;  
  3.   
  4. #error_log  logs/error.log;  
  5. #error_log  logs/error.log  notice;  
  6. #error_log  logs/error.log  info;  
  7.   
  8. #pid        logs/nginx.pid;  
  9.   
  10.   
  11. events {  
  12.     worker_connections  1024;  
  13. }  
  14.   
  15.   
  16. http {  
  17.     include       mime.types;  
  18.     default_type  application/octet-stream;  
  19.   
  20.     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '  
  21.     #                  '$status $body_bytes_sent "$http_referer" '  
  22.     #                  '"$http_user_agent" "$http_x_forwarded_for"';  
  23.   
  24.     #access_log  logs/access.log  main;  
  25.   
  26.     sendfile        on;  
  27.     #tcp_nopush     on;  
  28.   
  29.     #keepalive_timeout  0;  
  30.     keepalive_timeout  65;  
  31.   
  32.     #gzip  on;  
  33.   
  34.     server {  
  35.         listen       80;  
  36.         server_name  localhost;  
  37.   
  38.         #charset koi8-r;  
  39.   
  40.         #access_log  logs/host.access.log  main;  
  41.   
  42.         location / {  
  43.             root   html;  
  44.             index  index.html index.htm;  
  45.         }  
  46.   
  47.         #error_page  404              /404.html;  
  48.   
  49.         # redirect server error pages to the static page /50x.html  
  50.         #  
  51.         error_page   500 502 503 504  /50x.html;  
  52.         location = /50x.html {  
  53.             root   html;  
  54.         }  
  55.   
  56.         # proxy the PHP scripts to Apache listening on 127.0.0.1:80  
  57.         #  
  58.         #location ~ \.php$ {  
  59.         #    proxy_pass   http://127.0.0.1;  
  60.         #}  
  61.   
  62.         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  
  63.         #  
  64.         #location ~ \.php$ {  
  65.         #    root           html;  
  66.         #    fastcgi_pass   127.0.0.1:9000;  
  67.         #    fastcgi_index  index.php;  
  68.         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;  
  69.         #    include        fastcgi_params;  
  70.         #}  
  71.   
  72.         # deny access to .htaccess files, if Apache's document root  
  73.         # concurs with nginx's one  
  74.         #  
  75.         #location ~ /\.ht {  
  76.         #    deny  all;  
  77.         #}  
  78.     }  
  79.   
  80.   
  81.     # another virtual host using mix of IP-, name-, and port-based configuration  
  82.     #  
  83.     #server {  
  84.     #    listen       8000;  
  85.     #    listen       somename:8080;  
  86.     #    server_name  somename  alias  another.alias;  
  87.   
  88.     #    location / {  
  89.     #        root   html;  
  90.     #        index  index.html index.htm;  
  91.     #    }  
  92.     #}  
  93.   
  94.   
  95.     # HTTPS server  
  96.     #  
  97.     #server {  
  98.     #    listen       443 ssl;  
  99.     #    server_name  localhost;  
  100.   
  101.     #    ssl_certificate      cert.pem;  
  102.     #    ssl_certificate_key  cert.key;  
  103.   
  104.     #    ssl_session_cache    shared:SSL:1m;  
  105.     #    ssl_session_timeout  5m;  
  106.   
  107.     #    ssl_ciphers  HIGH:!aNULL:!MD5;  
  108.     #    ssl_prefer_server_ciphers  on;  
  109.   
  110.     #    location / {  
  111.     #        root   html;  
  112.     #        index  index.html index.htm;  
  113.     #    }  
  114.     #}  
  115.   
  116.     include      vhosts/*.conf; #加载多站点配置文件  
  117. }  

三、创建测试环境

1、创建测试网页信息


 
  1. $ pwd  
  2. /mnt  
  3. $ sudo mkdir -p www/www.a.com  
  4. $ sudo sh -c "echo Hello World>www/www.a.com/index.html"  
  5. $ cat www/www.a.com/index.html  #查看写入内容  
  6. Hello World  

2、修改本地hosts 文件,添加 www.a.com 跳转到 127.0.0.1 


 
  1. t$ sudo vim /etc/hosts  
  2. $ cat /etc/hosts|grep www.a.com # 查看修改结果  
  3. 127.0.0.1   www.a.com  

 
四、重启 Nginx ,关于Nginx 服务配置参见 Ubuntu 12.04 Nginx 安装记录

 
  1. $ sudo service nginx restart  

OK,打开浏览器输入 www.a.com 是不是出来 Hello World 了? :)


转载请标明出处:http://blog.csdn.net/johnnycode/article/details/24616017

(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容