linux运维学习笔记:nginx系列之03:nginx虚拟主机
作者:周少言
201年 月 日 星期 ,于北京
声明:本博客是本人周少言在某培训机构学习期间所写,其中参考借鉴了他人的博客,本文将会选择性给出相关链接,如有侵权,恳请告知。本文如有错误,恳请告知,欢迎交流。
如果您觉得本文值得分享,请帮忙分享出去哦!知识的可贵在于分享与交流,谢谢。
nginx 虚拟主机配置
Nginx下,一个server标签就是一个虚拟主机。
- 基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站
- 基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站,外部网站的管理后台
- 基于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
知识的可贵在于分享与交流,感谢您的分享!