部署项目:特定域名访问站点指定文件夹
2017-06-03 16:38
232 查看
搭建好 PHP 开发环境之后,接下来就可以 copy 准备好的业务代码到站点目录中,随时发布网站了。可是如何访问站点中的网页呢?直接访问自己的公网 ip 即可访问到站点网页,可是想优雅一些就需要准备一个域名了。
一级域名(baidu.com)也叫作顶级域名,注册一级域名是需要付费的。
而二级域名(image.baidu.com)是一级域名的延伸,所以只要购买了一级域名,二级域名是可以任意配置的。
其实(www.baidu.com)也是二级域名,只是大家已经习惯使用www为前缀的二级域名作为网站的主域名而已。
通过DNS解析服务商,可以为每个二级域名绑定不同的主机IP,这样即使只有一个主域名也可以架设多个网站了。
如果你只有一台主机,并且要在上面建立多个项目,还得通过子域名的方式访问,那么你需要配置 Apache 才行。
1 . 首先域名解析,将自己的域名(我的域名是 fatxin.cn)解析到公网 ip ,一段时间后,访问 fatxin.cn 就等同于访问公网 ip 了。(前提是开发环境搭建成功)
2 . 添加子域名:在一级域名解析,添加记录。如先添加一个demo,即生成二级协作域名 demo.fatxin.cn;(既然要实现Apache 配置多站点访问就得多准备几个域名,域名需要钱的,有了一个域名,理论上就可以配置无限个二级域名了)
3 . 在云服务器中,找到 Apache 中的配置文件 ..\apache2.4\conf\httpd.conf ,定位到下面内容:
去掉注释,即:
4 . 在文件 ..\apache2.4\conf\extra 中打开 httpd-vhosts.conf 文件,并将所有内容注释掉(删除掉也行),添加下面代码:
解释上面代码:
Directory 标签用于给所有目录设置访问权限
AllowOverride all 允许 .htaccess 对URL进行重写 / AllowOverride none 忽略 .htaccess 文件
Require all granted 允许外部访问 / Require all denied 禁止外部访问
NameVirtualHost 是固定形式,用于使 VirtualHost 标签生效
VirtualHost 标签用于为二级域名绑定虚拟主机
每一个二级域名对应一个 VirtualHost 标签,有多少二级域名,就需要多少个 VirtualHost 标签
DocumentRoot 和 ServerName 是必填项,其余可选
注意:由于 www 域名属于特殊的二级域名,所以它也需要在 httpd-vhosts.conf 文件中注册
修改完 Apache 的配置文件后,必须重启服务器配置即可生效。
附上我的源代码:
重启Apache之后,访问 www.fatxin.cn 即是访问站点目录(htdocs)中的wp文件夹,访问 demo.fatxin.cn 即是访问站点目录(htdocs)中的 demo 文件夹。
将 业务代码 上传到站点目录中的文件夹中即可。当然,上面说的都是需要拥有域名、云服务器的前提,作为学生一枚,搞个低配的服务器还是不需要花很多金币的。
如何在本地上部署项目?更加简单,只需要配置 hosts 和 httpd.conf 即可。
1.在 host 文件(C:\Windows\System32\drivers\etc)中添加「127.0.0.1 自定义域名」,如:
这样输入 phplayer.com 就相当于输入 127.0.0.1 访问到服务器站点了。但要为不同的域名请求分配不同的处理路径,还需要修改 httpd.conf 文件 。在 apache\apache2.4\httpd.conf 文件中添加下面代码:
或者:
重启 Apache ,访问phplayer.com 即相当于访问 127.0.0.1/phplayer了。
Directory 是用户可以访问的目录,和项目路径保持一致。注意 Directory 中的参数 Require local,它的意思是只允许本地访问,如果你把它改成 Require all granted,那么任何人都可以访问这个目录了。
部署过程知识点就这么些了,也没遇到什么坑,一切顺利,就这样吧,exit;
一级域名(baidu.com)也叫作顶级域名,注册一级域名是需要付费的。
而二级域名(image.baidu.com)是一级域名的延伸,所以只要购买了一级域名,二级域名是可以任意配置的。
其实(www.baidu.com)也是二级域名,只是大家已经习惯使用www为前缀的二级域名作为网站的主域名而已。
通过DNS解析服务商,可以为每个二级域名绑定不同的主机IP,这样即使只有一个主域名也可以架设多个网站了。
如果你只有一台主机,并且要在上面建立多个项目,还得通过子域名的方式访问,那么你需要配置 Apache 才行。
分配网站域名
1 . 首先域名解析,将自己的域名(我的域名是 fatxin.cn)解析到公网 ip ,一段时间后,访问 fatxin.cn 就等同于访问公网 ip 了。(前提是开发环境搭建成功)2 . 添加子域名:在一级域名解析,添加记录。如先添加一个demo,即生成二级协作域名 demo.fatxin.cn;(既然要实现Apache 配置多站点访问就得多准备几个域名,域名需要钱的,有了一个域名,理论上就可以配置无限个二级域名了)
3 . 在云服务器中,找到 Apache 中的配置文件 ..\apache2.4\conf\httpd.conf ,定位到下面内容:
#Include conf/extra/httpd-vhosts.conf
去掉注释,即:
Include conf/extra/httpd-vhosts.conf
4 . 在文件 ..\apache2.4\conf\extra 中打开 httpd-vhosts.conf 文件,并将所有内容注释掉(删除掉也行),添加下面代码:
<Directory /> AllowOverride all Require all granted </Directory> NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin 「管理员邮箱」 DocumentRoot 「项目根目录」 ServerName 「二级域名」 ServerAlias 「域名别名」 ErrorLog 「错误日志」 CustomLog 「访问日志」 </VirtualHost>
解释上面代码:
Directory 标签用于给所有目录设置访问权限
AllowOverride all 允许 .htaccess 对URL进行重写 / AllowOverride none 忽略 .htaccess 文件
Require all granted 允许外部访问 / Require all denied 禁止外部访问
NameVirtualHost 是固定形式,用于使 VirtualHost 标签生效
VirtualHost 标签用于为二级域名绑定虚拟主机
每一个二级域名对应一个 VirtualHost 标签,有多少二级域名,就需要多少个 VirtualHost 标签
DocumentRoot 和 ServerName 是必填项,其余可选
注意:由于 www 域名属于特殊的二级域名,所以它也需要在 httpd-vhosts.conf 文件中注册
修改完 Apache 的配置文件后,必须重启服务器配置即可生效。
附上我的源代码:
<Directory /> AllowOverride all Require all granted </Directory> NameVirtualHost *:80 # 首页 <VirtualHost *:80> # ServerAdmin 1829281339@139.com DocumentRoot "c:/web/Apache2.4/htdocs/wp" ServerName fatxin.cn # ServerAli 4000 as www.fatxin.cn # ErrorLog "logs/dummy-host.example.com-error.log" # CustomLog "logs/dummy-host.example.com-access.log" common </VirtualHost> # 作品集 <VirtualHost *:80> DocumentRoot "c:/web/Apache2.4/htdocs/demo" ServerName demo.fatxin.cn </VirtualHost>
重启Apache之后,访问 www.fatxin.cn 即是访问站点目录(htdocs)中的wp文件夹,访问 demo.fatxin.cn 即是访问站点目录(htdocs)中的 demo 文件夹。
将 业务代码 上传到站点目录中的文件夹中即可。当然,上面说的都是需要拥有域名、云服务器的前提,作为学生一枚,搞个低配的服务器还是不需要花很多金币的。
本地上部署项目
如何在本地上部署项目?更加简单,只需要配置 hosts 和 httpd.conf 即可。1.在 host 文件(C:\Windows\System32\drivers\etc)中添加「127.0.0.1 自定义域名」,如:
127.0.0.1 phplayer.com
这样输入 phplayer.com 就相当于输入 127.0.0.1 访问到服务器站点了。但要为不同的域名请求分配不同的处理路径,还需要修改 httpd.conf 文件 。在 apache\apache2.4\httpd.conf 文件中添加下面代码:
<VirtualHost *:80> DocumentRoot "c:/web/Apache2.4htdocs/phplayer/" ServerName phplayer.com </VirtualHost>
或者:
<VirtualHost *:80> DocumentRoot "c:/web/Apache2.4/htdocs/phplayer/" ServerName phplayer.com <Directory "c:/web/Apache2.4/htdocs/phplayer/"> Require local </Directory> </VirtualHost>
重启 Apache ,访问phplayer.com 即相当于访问 127.0.0.1/phplayer了。
Directory 是用户可以访问的目录,和项目路径保持一致。注意 Directory 中的参数 Require local,它的意思是只允许本地访问,如果你把它改成 Require all granted,那么任何人都可以访问这个目录了。
部署过程知识点就这么些了,也没遇到什么坑,一切顺利,就这样吧,exit;
相关文章推荐
- 本地项目部署到服务器并且访问的地址设置成指定的域名访问端口是80
- linux部署项目,不同的域名访问不同的项目
- tomcat设置一级域名、二级域名访问指定项目
- web项目的Linux服务器部署发布以及域名访问
- 【Tomcat学习笔记系列】使用域名访问Tomcat部署下的项目
- tomcat iis下公用80端口 只需输入域名即可访问不同项目;适用于iis服务器下部署多个项目
- linux+tomcat配置域名访问指定项目,不用接项目名
- 腾讯云centos7部署javaweb项目,并通过域名访问
- 在阿里云服务器上部署上java项目后 域名仍不能访问的问题
- 如何通过域名访问阿里云部署的springboot项目
- Tomcat部署项目去除项目名和端口号通过I域名访问的方法及遇到的问题
- 域名访问指定项目文件
- java web 项目如何部署到互联网中 通过输入域名访问?
- Tomcat部署spring web项目,直接通过域名访问,不加项目名称
- 使用花生壳、路由器、个人电脑进行站点部署并实现外网域名访问图文详解(花生壳设置方法 使用方法 使用教程)
- 使用花生壳、路由器、个人电脑进行站点部署并实现外网域名访问图文详解(花生壳设置方法 使用方法 使用教程)(转)
- Tomcat部署web项目,如何直接通过域名访问,不加项目名称
- 修改tomcat的端口号及访问的域名及多项目部署
- 阿里云服务器linux环境,从启动tomcat服务器外网访问--->绑定域名--->Navicat远程连接mysql--->阿里云服务器部署项目过程中,一定会遇到的五大问题;
- Ubuntu服务器下在Tomcat上部署web项目,绑定域名直接通过域名访问项目