Eleght科技:Nginx基于域名以及多域名的虚拟主机部署详细教程
本期接着上期接着给大家分享一下Nginx基于域名所谓的虚拟主机,在web服务里就是一个独立的站点,这个站点对应的可能是基于域名,也可能是基于端口或者者IP,所以有三类。本期Eleght科技先详细详情基于域名的虚拟主机配置方法。
一、基于域名的虚拟主机
简单的来说就是通过不同的域名区分不同的虚拟主机,也是企业应用最广的虚拟主机类型,几乎所有的对外提供服务的网站使用的都是基于域名的虚拟主机。
我们对nginx.conf文件进行编辑,主要配置内容如下所示
vim /usr/local/nginx/conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.text.com; #server_name后面填写在hosts中设置的域名
location / {
root /var/www/text; #root后面设置的是网站的根路径
index index.html index.htm;
}
}
}

1-1
与图1-1相比照,我将不必要的配置参数都删掉了,配置了一个基于www.text.com域名的站点,虚拟主机的关键部分就是server{ }内的内容,还有一个建议就是最好用vim编辑文件,由于可以实现{ }高亮显示。
第二步,创立域名对应的站点目录以及文件,在以上代码中我特别标明了root那一行,设置的就是网站的根路径自行设置就可,我写的是/var/www/text ,所以我们先建立这个目录,并创立一个index.html的文件,依次键入以下命令,如图1-2所示
cd
mkdir -p /var/www/text #创立/var/www/text目录
cd /var/www/text #切换到/var/www/text
vim index.html #在这个text目录下创立并编辑index.html文件

1-2
第三步,我们在index.html写入少量内容,比方说我随意写点内容如下,一会我们进行测试
Welcome to www.text.com
Please enter your name :
第四步,可不能忘了编辑/etc/hosts文件,将虚拟域名加入以便于解析,我们依次键入以下命令,如图1-3所示
vi /etc/hosts
127.0.0.1 www.test.com #需要输入的内容,127.0.0.1是web服务器的IP,后面跟的是虚拟主机的域名配置,当然也可以一个IP对应多个域名,中间只要要用逗号隔开即可以了。

1-3
第五步,我们重启nginx文件,键入以下命令
cd /usr/local/nginx/sbin
./nginx -s reload
假如这一步提醒错误的话,我们杀死进程后再开启nginx,命令如下
ps -ef|grep nginx #查看进程号
kill -TERM 1222 #杀死进程,数字代表进程ID
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf #启动nginx
第六步,我们打开浏览器,输入www.text.com

1-4
如图1-4所示,我们成功的打开了页面,并向文本框中写入了我们的Eleght科技头条号
我们再对Windows用户端浏览器进行DNS解析,我们编辑hosts文件,这个文件Win7,Win10系统通常位置在C:\Windows\System32\drivers\etc,如图1-5所示,我们编辑这个文件,跟上面的Linux相同,注意一点的是一个IP对应多个域名,中间用空格隔开,键入以下内容
机器IP地址 www.text.com
由于我没有对应的web服务器的IP,所以这一步就不再演示了,还有一个问题就是编辑这个文件时要改一下属性中的权限,保存后再设置好权限,为了系统安全。

1-5
下面我再分享一下如何配置基于多个域名的虚拟主机,前面我们增加了示例www.text.com这个域名,下面我们继续增加text1,text2这两个示例域名,我们还是需要编辑nginx.conf中的配置文件
vim /usr/local/nginx/conf/nginx.conf
这时只要要在http { }增加server配置,将www.text.com配置内容复制下来,改service_name、root这几点即可以,记得设置的root要重新建立目录以及文件,配置示例如下
server {
listen 80;
server_name www.text1.com; #server_name后面填写在hosts中设置的域名
location / {
root /var/www1/text; #root后面设置的是网站的根路径
index index.html index.htm;
}
}
server {
listen 80;
server_name www.text2.com; #server_name后面填写在hosts中设置的域名
location / {
root /var/www2/text; #root后面设置的是网站的根路径
index index.html index.htm;
}
}
接着创立目录以及文件,键入以下内容,还有就是千万别忘了hosts解析!后面大家自行测试即可以了,只需配置文件没有问题后面就没有问题
mkdir -p /var/www2/text
mkdir -p /var/www1/text
cd /var/www2/text
vim index.html #在其中写点东西进行测试
cd /var/www1/text
vim index.html #在其中写点东西进行测试
但是这里还会出现一种问题启动提醒80端口被占用,此时你可以用ps检查一下谁在用,或者者直接键入
fuser -k 80/tcp
而后再次尝试重新启动nginx:
service nginx start

1-6
好了,本期的分享结束了,大家都学会了吗,假如大家在学习过程中遇到了什么问题,可以随时来讯问小E,假如文中有什么错误,欢迎指出评论,感谢!Eleght科技一个会分享技术的头条号!

Eleght科技
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » Eleght科技:Nginx基于域名以及多域名的虚拟主机部署详细教程