绑定多个域名,并设置本地域名

发布时间:2019-10-07  栏目:编程  评论:0 Comments

项目开发的过程中,用myeclipse的tomcat运行项目的时候,访问项目通常需要带有项目的名称。本文的目的在于当tomcat运行成功的时候能够使用自定义的域名访问项目。如一个shopxx商场项目,以www.lfq.com或localhost访问。

工作不到一年,以前又异常懒惰,对服务器方面一向没有什么认知,听名字以为很高级,刚开始有些不知所措,从网上搜索了一些知识,总算有了一定的了解,但也只能算刚刚入门,记录一下。

Tomcat部署web有三种方式:

1、myeclipse中servers窗口右键tomcat服务器,修改8080端口为80端口

VPS

VPS(Virtual Private Server
虚拟专用服务器)技术,将一部服务器分割成多个虚拟专享服务器的优质服务。每个VPS都可分配独立公网IP地址、独立操作系统、实现不同VPS间磁盘空间、内存、CPU资源、进程和系统配置的隔离,为用户和应用程序模拟出“独占”使用计算资源的体验。VPS可以像独立服务器一样,重装操作系统,安装程序,单独重启服务器。

简单来说就是出于成本考虑,租用服务器花费太高,服务商将服务器分割成若干个“服务器”,这些个“服务器”有可以享有独立的ip,os等资源,比较适合中小企业建站需求。

一. 直接部署在Tomcat的webapps目录下:

这种方式不被推荐,项目不好管理,而且需要链接加上项目名才能正常访问。

- 把你的web项目复制到你的Tomcat的webapps
- 启动Tomcat,如果配置了shell快捷键直接,startup.sh,否则到Tomcat的bin的目录下,执行startup.sh
- 浏览器输入:http://127.0.0.1:8080/appName

简单测试:(由于我把Tomcat端口修改为9999,后面的截图的链接的端口号为9999,你用8080就可以了)
在webapps目录下新建文件夹 hello文件夹
在hello文件夹下新建index.html
启动Tomcat
浏览器输入localhost:8080/hello打开之前的文件
如下图:

图片 1

Snip20170827_1.png

图片 2图片1.png

VPS上部署Java项目

以前认知上一直有个误区,以为服务器都很复杂,而现在大多数服务器的环境全是php的,我要部署Java应用,感觉无从下手,其实服务器和我们平常用的计算机没有什么区别,只是要24小时运行,联网,为外界提供访问。所以下面就好理解了。
我用的vps装的是Windows server 2008
R2,以前运行过asp项目,所以安装有IIS,因为IIS已经占用了80端口,所以再要tomcat运行javaweb程序的话,搜到了以下几种解决方法:

  1. 我的情况,不需要asp程序了,将IIS卸载释放80端口。
  2. 同时运行asp和jsp程序,需要将IIS和tomcat进行整合,网上有很多教程,我很懒,没弄!
  3. 好像也可以用nginx反向代理,没深入研究,这几天打算学一下nginx呢。

我就介绍下第一种情况把(懒癌患者)!
安装 jdk1.7tomcat7
配置好环境变量,这些基础的就不说了,就和在自己电脑上一样安装。

  • 将要运行的项目用eclipse打成war包,上传到vps上,放到
    tomcatwebapps下或者其他目录也行,为了方便我就放到webapps下了。
  • 修改 tomcatconf 下的 server.xml
    文件修改端口为80,这样输入网址的时候就不用加上端口了。

#将端口修改成80 URIEncoding="UTF-8"是防止乱码的
<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8" />
  • 绑定域名,还是修改 tomcatconf 下的 server.xml 文件。

<Engine name="Catalina" defaultHost="www.abc.com">
    <Realm className="org.apache.catalina.realm.LockOutRealm">
    </Realm>
    <Host name="www.abc.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="abc" debug="0" reloadable="true" />
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
    </Host>
    <Host name="www.bcd.com" appBase="webapps" unpackWARs="true" autoDeploy="true">
        <Context path="" docBase="bcd" debug="0" reloadable="true" />
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />
        <Alias>bcd.com</Alias>
    </Host>
</Engine>

配置说明:

  • defaultHost="www.abc.com"
    表示访问该tomcat默认进入的主机。也可以是localhost
    不改,这样别人访问你的ip的话会进入tomcat设置界面。
  • Host 的
    name:表示该主机绑定的域名,也可以是公网ip,如果绑定localhost则可以通过在浏览器中输入localhost访问该Host。Host的
    appBase:表示该主机绑定的文件存放路径,可以使用相对路径或绝对路径如:d:/abc,tomcat会默认部署该目录里的应用。
  • <Context path="" docBase="abc" debug="0" reloadable="true" />
    如果不加这句,就会默认访问appBase下的ROOT文件夹下的项目。path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空;docBase是虚拟目录的路径,它默认的是$tomcat/webapps/ROOT目录,我的项目在webappsabc目录,让该目录作为我的默认目录。debug和reloadable一般都分别设置成0和true。
  • 绑定多个域名的话就在加一个host标签。
  • 多个域名同时访问一个项目,比如www.bcd.com和bcd.com都访问到bcd项目,host里加入<Alias>标签,A大写。

现在重启tomcat浏览器输入地址就可以访问到要部署的项目了。
为了方便可以把tomcat加入windows服务,直接打开 tomcatbinservice.bat
就会自动加入服务了。

二、修改Tomcat的server.xml文件,配置虚拟主机

步骤:

  • tomcat conf下的server.xml配置 (见下面的步骤)
  • 添加文件(与上面配置要一致)
    项目:/Users/taoyali/project/site/com.taoyali.www
    测试网页:index.html
  • 启动Tomcat
  • 浏览器输入:
    www.taoyali.com

tomcat conf下的server.xml配置

1.进入server.xml文件, 终端输入:vim server.xml
,也可以进入文件夹找到对应的文件用编辑器编辑

   [root@localhost conf]# vim server.xml 

2.在Engine节点内添加 Host节点,代码如下

配置代码:
      <Host name="www.taoyali.com"
        unpackWARs="true" autoDeploy="true">
        <value className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                prefix="www.taoyali.com_access_log" suffix=".txt"
                pattern="%h %l %u %t "%r" %s %b" />
        <Context path="" docBase="/Users/taoyali/project/site/com.taoyali.www" />
      </Host>

图片 3

Snip20170827_2.png

1.是Tomcat默认
2.是刚刚添加的host虚拟主机
3.name=”www.taoyali.com”:指访问的域名,所以需要你先拥有
taoyali.com
这个域名,并把
www.taoyali.com
映射到当前服务器上才能正常访问,本地测试可以通过修改本机host文件来做映射测试。

图片 4

浏览器输入: www.taoyali.com

2、找到工作目录workspaces下项目下的setting。把相应文档中的value修改为ROOT

问题

  1. 域名解析到服务器的ip了,tomcat也配置好了,还是访问不了。
    首先,域名解析到国内的vps都得备案,还有可能vps提供商的后台需要把域名加入白名单才能访问。
  2. 我还没发现其他的问题。

三.修改server.xml和Catalina,配置虚拟主机。

这种方式,我用 web.taoyali.com 这个项目为例。
修改tomcat conf下的server.xml配置

[root@localhost conf]# vim server.xml 

在Engine节点内添加 简单的Host节点,:wq 保存退出

<Host name="web.taoyali.com"></Host>

进入tomcat conf下的Catalina目录

[root@localhost conf]# cd /usr/local/tomcat/apache-tomcat-7.0.77/conf/Catalina

新建目录 web.taoyali.com (与server.xml中配置的host名称一样)

[root@localhost Catalina]# mkdir web.taoyali.com

进入web.taoyali.com目录并新建ROOT.xml文件,添加相应的配置内容。

[root@localhost Catalina]# cd web.taoyali.com/[root@localhost web.taoyali.com]# vim ROOT.xml

ROOT.xml 文件添加以下内容:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="/Users/taoyali/project/site/com.taoyali.web" > 
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs/com.taoyali.web" 
                     prefix="web.taoyali.com_localhost_access_log" 
                     suffix=".txt" 
                     resolveHosts="true" 
                     pattern="%h %l %u %t "%r" %s %b" /> 
</Context>

留下评论

网站地图xml地图