要想架设个人网站,起码要具备三样东西:
1. 域名及DNS解析(其实直接用ip访问也可也,不过这样就太蛋疼了)。
2. 一台服务器。
3. 你自己的应用部署在服务器上。
今天心血来潮,突然想搞个自己的网站。于是乎开始着手搞上面三样东西。
1. 域名,用google或百度搜一搜“域名”,被带进了阿里云里面了,在域名里搜dhy,然后一堆域名出来了,最终选了个dhy.party。(别问我为什么不选 .com/.cn,因为买不起啊- -,.party用来84块钱就买到了10年使用权=.=)
2. 有了域名之后要搞定服务器了,刚好之前为了*买了个搬瓦工的VPS,也是超便宜的,1个月10块钱,虽然配置超垃圾,只是为了用*的,正好拿来试试手。
3. 把域名绑定到VPS的ip上,话说DNS解析好像也要花钱?不过我直接就绑定上了啊,难道是阿里云的新用户优惠?
4. 最后就是做一个web项目了,哎,新建一个空项目吧,测试测试就好–。以后再补充。
然后就开干了:
一.搭建服务器环境
- 使用tomcat做服务器,服务器环境至少要有
jdk
,tomcat
。我的VPS系统是centos 6,用SecureCRT连上服务器后先安装服务器和本机之间的文件传输工具
yum -y install lrzsz
然后在远程终端中,使用命令rz
能接收本地机器上的文件,使用命令sz
能将文件发送到本地机器。非常方便。 - 本地下载jdk,传输到远程服务器上,话说这一步我做的时候有点杯具,开始时下载的jdk8传输到服务器上解压的时候一直提示文件损坏,最后不得不重新下载了个jdk7,就用7吧~ 传到服务器上用
tar -zxvf xxx.tar.gz
解压之后配置一下环境变量,配置/etc/profile
就不细写了,网上一大堆。 - 本地下载tomcat,传输到远程服务器上,步骤同上面一样,解压,然后打开
/bin
运行./startup.sh
,这里有一个小技巧,linux下的tomcat直接运行startup.sh
在控制台看不到启动日志,可以使用./catalina.sh run
这种方法启动tomcat就能像Windows一样在控制台看到启动过程了,这一步可能会存在执行文件的权限问题,如果遇到可以使用chmod +x *.sh
增加执行权限。 -
经过第3步在centos上并不能正常启动tomcat,报
The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/i386:/lib:/usr/lib
错误,这是什么鬼。原来是在centos上启动tomcat需要为tomcat安装apr支持,apr是什么东西?Tomcat网站的文档专门有一块是介绍在Tomcat中如何使用APR库的,说白了就是如何在Tomcat中使用JNI的方式来读取文件以及进行网络传输。这个东西可以大大提升Tomcat对静态文件的处理性能,同时如果你使用了HTTPS方式传输的话,也可以提升SSL的处理性能。
这个东西略蛋疼,搞了好久才搞好,不过不要太担心,只要配一次就行了。主要参考了下面2个网站:
http://my.oschina.net/songxinqiang/blog/418794
http://kling.blog.51cto.com/3320545/1177448
二.本地建一个web项目
- 用maven建了个webapp,最简单的用配置个
DispatchServlet
拦截所有请求,然后建个Controller将默认请求转到index.jsp
上。 - maven打包成war包,将war包传输到远程服务器的tomcat下的webapp目录下。
三.配置tomcat
- 首先把tomcat的webapp目录下全清空,那些自带应用都可以删了,只留下我们的war包。
- 配置server,打开conf/server.xml,连接远程服务器没有图形化界面,只能用vim,不会vim的可以稍微学一下,知道怎么编辑就行了。
- 首先把tomcat的端口号改为80,不能老是像本地一样手动输入8080端口不是?浏览器默认访问80端口,
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
把原本的8080端口改为80端口就行了~ - 其次要将服务器的默认应用设置为我们的应用。添加一个context,path设为空字符串代表默认应用,docBase指向应用地址
<Context path="" debug="0" docBase="/root/apache-tomcat-7.0.70/webapps/dhy.party" reloadable="true" privileged="true"> </Context>
- 首先把tomcat的端口号改为80,不能老是像本地一样手动输入8080端口不是?浏览器默认访问80端口,
- 进入
/bin
目录,启动tomcat就行了。访问试试!
OK!