linux运维学习笔记:nginx系列之03:nginx虚拟主机

linux运维学习笔记:nginx系列之03:nginx虚拟主机

作者:周少言
201年 月 日 星期 ,于北京

声明:本博客是本人周少言在某培训机构学习期间所写,其中参考借鉴了他人的博客,本文将会选择性给出相关链接,如有侵权,恳请告知。本文如有错误,恳请告知,欢迎交流。

参考连接

如果您觉得本文值得分享,请帮忙分享出去哦!知识的可贵在于分享与交流,谢谢。

nginx 虚拟主机配置

Nginx下,一个server标签就是一个虚拟主机。

  1. 基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站
  2. 基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台
  3. 基于ip的虚拟主机,几乎不用。

以下实现是在未连接外网的局域网进行的实验,如果你的linux连接到了外网,为避免不必要的麻烦,请谨慎使用诸如www.sina.com的域名。

基于域名配置虚拟主机步骤:

假设两个域为sina.com和sohu.com

  • 建立网站目录;对应域名网站目录下新增index.html文件;

    mkdir -p /usr/local/nginx/www/sina
    mkdir -p /usr/local/nginx/www/sohu
    echo "this is www.sina.com,welcome" > /usr/local/nginx/www/sina/index.html
    echo "this is www.sohu.com,welcome" > /usr/local/nginx/www/sohu/index.html
    
  • 还原nginx配置文件:
    \cp -rf /usr/local/nginx/conf/nginx.conf.default /usr/local/nginx/conf/nginx.conf
    注: \ 是为取消cp=cp -i 别名,实现不询问。

  • nginx.conf配置文件新增如下代码(注意要在http代码块中添加):

    server {
    listen 80;
    server_name www.sina.com;
    index index.html;
    root /usr/local/nginx/www/sina;
}

    server {
    listen 80;
    server_name www.sohu.com;
    index index.html;
    root /usr/local/nginx/www/sohu;
}
  • 重启nginx
    service nginx restart
  • 验证结果,使用elinks或curl测试,或者浏览器输入域名访问;
    (自己配置相应的DNS,此处不再赘述)
 elinks  www.sina.com
 elinks  www.sohu.com

基于端口的虚拟主机配置:

使用端口来区分,浏览器使用 域名 或 ip地址:端口号 访问;

  • 建立网站目录;对应网站端口目录下新增index.html文件;

    mkdir -p /usr/local/nginx/www/sina8000
    mkdir -p /usr/local/nginx/www/sina8001
    echo "This is a website using port 8000" > /usr/local/nginx/www/sina8000/index.html
    echo "This is a website using port 8001" > /usr/local/nginx/www/sina8001/index.html
    
    
  • 还原nginx配置文件:
    \cp -f /usr/local/nginx/conf/nginx.conf.default /usr/local/nginx/conf/nginx.conf

  • nginx.conf配置文件新增如下代码:

server
{
listen 8000;
server_name www.sina.com;
root /usr/local/nginx/www/sina8000;
}

server
{
listen 8001;
server_name www.sina.com;
root /usr/local/nginx/www/sina8001;
}

  • 重启nginx
    service nginx restart
  • 验证结果,使用curl测试,或者浏览器输入 域名:端口 访问;
 curl www.sina.com:8000
 curl www.sina.com:8001

基于ip地址的虚拟主机配置: 通过ip来访问,需要配置多个ip;

  • 使用ifconfig命令创建临时网卡子接口
    ifconfig eth0:1 192.168.22.201

  • 建立网站目录;对应网站目录下新增index.html文件;

    mkdir -p /usr/local/nginx/www/ip1
    mkdir -p /usr/local/nginx/www/ip2
    echo "This is a website using ip1" > /usr/local/nginx/www/ip1/index.html
    echo "This is a website using ip2" > /usr/local/nginx/www/ip2/index.html
  • 还原nginx配置文件:
    \cp -f /usr/local/nginx/conf/nginx.conf.default /usr/local/nginx/conf/nginx.conf

  • nginx.conf配置文件新增如下代码:
    server {
    listen 192.168.22.41:80;
    server_name www.sina.com;
    index index.html;
    root /usr/local/nginx/www/ip1;
    }

server {
listen 192.168.22.201:80;
server_name www.sina.com;
index index.html;
root /usr/local/nginx/www/ip2;
}

  • 重启nginx
    service nginx restart
  • 验证结果,使用curl测试,或者浏览器输入域名访问;
curl 192.168.22.41
curl 192.168.22.201

知识的可贵在于分享与交流,感谢您的分享!

你可能感兴趣的:(linux运维学习笔记:nginx系列之03:nginx虚拟主机)