什么是虚拟主机?
虚拟主机是一种特殊的软硬件技术,它可以将网络上的每一台计算机分成多个虚拟主机,每个虚拟主机可以独立对外提供www服务,这样就可以实现一台主机对外提供多个web服务,每个虚拟主机之间是独立的,互不影响。
- 基于域名的虚拟主机
- 基于ip的虚拟主机
- 基于端口的虚拟主机
一、
1、 基于域名的虚拟主机
server {
listen 80; #监听的端口
server_name www.jpx01.com; #域名
root /usr/share/nginx/web1; #root目录
access_log /var/log/www.jpx01.com.log main; #访问日志文件
error_log /var/log/www.jpx01.com.error.log; #错误日志文件
location / {
index index.html;
}
server {
listen 80; #监听的端口
server_name www.jpx02.com; #域名
root /usr/share/nginx/web2; #root目录
access_log /var/log/www.jpx02.com.log main; #访问日志文件
error_log /var/log/www.jpx02.com.error.log; #错误日志文件
location / {
index index.html;
}
server {
listen 80; #监听的端口
server_name www.jpx03.com; #域名
root /usr/share/nginx/web3; #root目录
access_log /var/log/www.jpx03.com.log main; #访问日志文件
error_log /var/log/www.jpx03.com.error.log; #错误日志文件
location / {
index index.html;
}
2、 重新加载配置文件
systemctl reload nginx
3、 在对应的目录下创建对应的html
4、 浏览器访问 不同的域名 得到不同的html
http://jpx01.com/
http://jpx02.com/
二、基于ip的虚拟主机
1、 一块网卡绑定多个ip
ifconfig netname:1 ip1
ifconfig netname:2 ip2
2、 配置通过ip区分的虚拟机
server {
listen ip1:80;
server_name www.ip1.com;
root /usr/share/nginx/html;
access_log /var/logs/www.ip1.com.log main;
error_log /var/logs/www.ip1.com.error.log;
location / {
root html;
index index.html index.htm;
}
}
server {
listen ip2:80;
server_name www.ip1.com;
root /usr/share/nginx/html;
access_log /var/logs/www.ip2.com.log main;
error_log /var/logs/www.ip2.com.error.log;
location / {
root html;
index index.html index.htm;
}
}
3、 重新加载配置文件
systemctl reload nginx
4、 浏览器访问
http://ip1
http://ip2
5、 删除绑定的ip
ifconfig netname:1 ip1 down
三、 基于端口的虚拟机
server {
listen 8000;
server_name www.1000phone01.com;
root /usr/share/nginx/html;
access_log /var/logs/www.1000phone01.com.log main;
error_log /var/logs/www.1000phone01.com.error.log;
location / {
root html;
index index.html index.htm;
}
}
server {
listen 8080;
server_name www.1000phone01.com;
root /usr/share/nginx/html;
access_log /var/logs/www.1000phone02.com.log main;
error_log /var/logs/www.1000phone02.com.error.log;
location / {
root html;
index index.html index.htm;
}
}
systemctl reload nginx
网友评论