事实上笔者在去年8月份的时候就已经在自己电脑上通过nat123搭建了一台服务器,即p2p,自己的电脑作为服务器,但是这很不安全,而且每次别人通过外网访问,电脑必须打开而且开着服务器,由于是免费的,导致别人访问网速跟不上等等,最近阿里云有学生9.9元购买服务器,所以笔者买了一个,也很有兴趣将笔者之前写的两个网站部署上,结果很美好,但过程很坑,所以就需要总结来提高自己
进入正题
笔者也是google了许多例子和前人的经验找到适合自己的方法
首先需要租一台云服务器,我选择了阿里云
注意这里操作系统有四个选项,笔者发现只有第四个符合自己(貌似是自定义),然后按照步骤,其中有些需要注意
安全组,这里暂时可以选择默认的第一个,因为后面如果在搭建web时需要一些端口(如mysql默认3306端口改掉,tomcat8080端口换成80等等),到时可以在后台操作)
关于镜像选择,因为笔者是window7,而且还是32位的,相对64位只能有不大于4g的内存,
这里的密码就是之后在本地机子上远程登录这个服务器所要的密码
ok至此,成功租了一台服务器,这时你会收到一条短信,里面有你这台服务器的公网地址
然后笔者就开始着手在本机上登录该服务器,当然是为了搭建javaweb准备的
在本机上准备javaweb需要的环境
在本机上新建一个分区用来放上述软件供服务器远程使用(其实也可以不用分区,直接复制也行,毕竟笔者被分区坑了,导致后来的双系统引导界面消失)
本机上登录远程连接可以用运行-mstsc-直接进入到如下界面
其中计算机就是你的公网地址,如果你是新建了一个分区,那么就点选项在本地资源的详细信息中就新建的那个分区勾上,笔者这里是x盘(如果没有的话就直接连接)后面什么证书,安全啊先不管了,应该是进入远程服务器了
接下来就是将mysql,jdk等复制到c盘中,因为只有一个盘,后续就是安装配置了
- 安装jdk,笔者的是jdk1.6(注意jdk版本不同,后续运行高版本会出像版本错误,笔者已吃过亏),配置环境变量
- 安装tomcat,配置tomcat环境变量,注意上述不需要自定义文件夹,因为只有一个c盘,tomcat默认端口是8080
- 安装mysql,这里面需要注意的是里面有端口设置,可以选择默认的3306或者自定义,然后就是用户与密码设置
- 可以使用可视化数据库工具,这里笔者使用了navicat
至此算是搭建了一个简单web环境,可以先测试一下
拷贝一个已经被编译过的web项目,启动tomcat与mysql,然后利用localhost:8080/项目名访问,如果出现界面就表示以上配置成功
接下来需要买一个域名
- 成功后点击解析,在里面找到新手设置,点进去
点击设置网站解析,然后输入公网,即可。 - 在远程服务器中,找到tomcat下conf下的server.xml文件,如果我们不想要8080端口并且输入域名时不想要端口的话,就先把8080端口改成80
Connector port=”80” protocol=”HTTP/1.1”
connectionTimeout=”20000”
redirectPort=”8443” />
3.然后找到host
Host name=”你刚刚解析的域名” appBase=”webapp”
unpackWARs=”true” autoDeploy=”true”><Context path=”” docBase=”/项目名” debug=”0” reloadable=”true”
注意这里appBase是放项目的站点,context内的docBase是你的项目名,目前我们只是一个tomcat运行一个域名执行一个项目
然后打开C:\Windows\System32\drivers\etc下的host文件
增加如下设置
127.0.0.1 localhost
::1 localhost
192.168.1.11 刚刚的域名
保存,然后重启服务器,可能会发现会遇到一些问题,如80端口被占用,80端口未开放等等,假设未被占有(如果占用,google上有解决方法),
如果未开放,这里我们就需要在云服务器上进行端口开放设置
进入我们购买的云服务器,点击安全组,选中一个实例,点击配置,选择公网入方向,按照步骤开放想要的端口
至此只要输入域名就可以访问了。
当然,如果我们想要一个tomcat上配置多个域名,每个域名运行各自不同的项目,那如何做了,经过踩坑后,大概如下步骤
- 可以选择在tomcat下新建一个站点,类似于原来的webapp,然后在server.xml中进行配置一个新host
Host name=”第二个域名” appBase=”新创建的站点”
unpackWARs=”true” autoDeploy=”true”><Context path=”” docBase=”/第二个项目名” debug=”0” reloadable=”true”
2.然后在hosts文件汇总加入第二个域名
127.0.0.1 localhost
::1 localhost
192.168.1.11 刚刚的域名
192.168.1.11 第二个域名
最后重启服务器。
笔者在这里遇到了一个很奇怪的坑,同一服务器下的项目出现奇怪的jar包冲突,只要删掉xerces包就行了(当然是在远程服务器上才产生冲突的)