Nginx实战(一) 虚拟主机

来源:互联网 发布:iwebshop nginx 编辑:程序博客网 时间:2024/05/17 23:26
  1. 利用虚拟主机,不同为每个要运行的网站提供一台单独的Nginx服务器或单独运行一组Nginx进程。虚拟主机提供了在同一台服务器、同一组Nginx进程上运行多个网站的功能。

在Nginx配置文件nginx.conf中,一个最简化的虚拟主机配置代码如下

  1. server {
  2. listen 80;
  3. server_name localhost;
  4. access_log logs/host.access.log main;
  5. location / {
  6. root html;
  7. index index.html index.htm;
  8. }
  9. }

基于IP的虚拟主机

可以在一块物理网卡上绑定多个lP地址。这样就能够在使用单一网卡的同一个服务器上运行多个基于IP的虚拟主机。设置IP别名也非常容易,只须配置系统上的网络接口,让它监听额外的lP地址。

  1. server {
  2. listen 192.168.204.131:80;
  3. server_name example.org www.example.lianggzone.com;
  4. root /data/www;
  5. }
  6.  
  7. server {
  8. listen 192.168.204.132:80;
  9. server_name example.net www.example.lianggzone.com;
  10. root /data/bbs;
  11. }

基于域名的虚拟主机

基于域名的虚拟主机是最常见的一种虚拟主机。只需配置你的DNS服务器,将每个主机名映射到正确的lP地址,然后配置Nginx服务器,令其识别不同的主机名就可以了。这种虚拟主机技术,使很多虚拟主机可以共享同一个lP地址,有效解决了lP地址不足的问题。所以,如果没有特殊要求使你必须用一个基于lP的虚拟主机,最好还是使用基于域名的虚拟主机。
编辑/etc/hosts加入虚拟域名以便解析。

  1. cat /etc/hosts

编辑内容如下

  1. 127.0.0.1 www.blog.lianggzone.com www.bbs.lianggzone.com

修改Nginx配置文件nginx.conf,添加虚拟域名支持

  1. server {
  2. listen 80;
  3. server_name www.blog.lianggzone.com;
  4. location / {
  5. root /usr/local/dev/nginx/page;
  6. index index.html;
  7. }
  8. }
  9.  
  10. server {
  11. listen 80;
  12. server_name www.bbs.lianggzone.com;
  13. location / {
  14. root /usr/local/dev/nginx/page;
  15. index index2.html;
  16. }
  17. }

基于端口的虚拟主机

基于端口的虚拟主机配置,使用端口来区分,浏览器使用域名或ip地址:端口号访问。

  1. server {
  2. listen 8080;
  3. server_name www.blog.lianggzone.com;
  4. root /usr/local/dev/nginx/page;
  5. }
  6.  
  7. server {
  8. listen 9090;
  9. server_name www.bbs.lianggzone.com;
  10. root /usr/local/dev/nginx/page;
  11. }
0 0
原创粉丝点击