SSD Cloud Hosting - Linode的配置和部署,搭建Java环境
0、发牢骚
前一个月在淘宝购买了个Jsp空间,挺便宜的,才38元/年。部署了程序,然后ALIMAMA验证网站,一直提示验证失败。最后找卖家,他说可能是因为空间太慢,照他的推荐换了最好的空间,138元/年。换了之后一次就验证通过了,感觉还挺满意。期间有一次GET请求乱码问题,server.xml改不了,找卖家,让我付技术费什么的,一来二去,很不愉快,最后自己在代码中处理解决。
折腾了几天,必须得做全站静态化、模板化,提高各个功能模块的可复用性,于是jsp换FreeMarker。再次发布程序,上传了war包,看log,tomcat没有解压war包,在控制面板中重启进程,提示成功,但是看日志还是没有重新部署。没有办法,于是又找卖家帮忙重启tomcat,卖家这次态度更恶劣,说我的菜鸟啊,垃圾程序啊什么的,很不耐烦,素质很低。感觉就是那种刚刚当一年客服,被问题折磨成抑郁症,见到客户说有问题就极度厌恶(这种感受我亲身经历过,早年的时候现场就我一个人,即是开发又是客服,一听到座机电话响就有把它砸烂的冲动)。 算啦,138元算是打水漂了,于是转投Linode,以下便是记录这次的配置和部署。
购买了个一般般的配置,练练手,配置如下:
套餐5:1G内存、24G SSD硬盘、2T 月流量、125M带宽、1IP,多机房可选;70元/月;
1、创建一个磁盘并安装操作系统
卖家会给你一个Linode后台页面: https://manager.linode.com/linodes/dashboard/linodexxxxx,登陆后,进入Dashboard,点击 Deploy a Linux Distribution,出现下面的页面。

在 Distribution下拉列表中选择将要安装的Linux发行版本。你也可以选择使用 StackScripts,通过脚本直接安装操作系统及必要的软件,并配置系统,以及Wordpress也不在话下。我这里选择CentOS7。
在Deployment Disk Size中填写磁盘大小,必须小于你的Linode剩余待分配空间。
Swap Disk 菜单一般使用默认选项即可,当内存不够用时,暂时会把长期不使用的内存换到交换区中,以节省出内存空间供其他使用。
输入Root密码:Root Password。

最后点击 Deploy就完成了新磁盘的创建。
最后的最后,千万别忘记点击boot,也就是启动VPS。
启动中:

启动完成:

2、SSH登陆测试
启动CentOS7之后,就可以使用SSH工具登陆测试,以后安装软件就靠它了。这里我使用SecureCRT,密码是刚刚设置的那个。

OK,连接成功;

3、SFTP登陆测试
我这里用的工具是SecureFX,同样能连接成功,great!

4、搭建Java环境
搭建Java环境要安装JDK,搭配Tomcat可以作为JSP Web服务器。系统先升级到目前最新。
yum check-update && yum update

JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
这里使用rpm包,JDK7(Java SE 7u67 64位, http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.rpm,这里貌似需要登陆的,实际我下载的链接是http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.rpm?AuthParam=1410504824_54a84185fe3ce61caeec050ef3430c35),开始安装;
cd /tmp
wget http://download.oracle.com/otn-pub/java/jdk/7u67-b01/jdk-7u67-linux-x64.rpm?AuthParam=1410504824_54a84185fe3ce61caeec050ef3430c35

接着安装:
mv jdk-7u67-linux-x64.rpm\?AuthParam\=1410504824_54a84185fe3ce61caeec050ef3430c35 jdk-7u67-linux-x64.rpm
cd /usr
mkdir java
cd java
cp /tmp/jdk-7u67-linux-x64.rpm .
chmod a+x jdk-7u67-linux-x64.rpm
rpm -ivh jdk-7u67-linux-x64.rpm

编辑环境变量:
vi /etc/profile
在最后增加配置:
export JAVA_HOME=/usr/java/jdk1.7.0_67
export CALSSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

重启linux或者执行source /etc/profile命令让修改生效:
reboot
重启之后,验证java是否安装成功:
java -version

5、安装Tomcat7
创建app目录;
cd /
mkdir app
到官网下载tomcat7,http://apache.dataguru.cn/tomcat/tomcat-7/v7.0.55/bin/apache-tomcat-7.0.55.tar.gz
用SecureFx将apache-tomcat-7.0.55.tar.gz上传到目录/app;

解压缩;
cd /app
tar -xzvf apache-tomcat-7.0.55.tar.gz

进入tomcat目录设置tomcat的内存使用情况及其他配置:
cd apache-tomcat-7.0.55/bin
vi daemon.sh
在正文开始的地方加入以下内容(注意将jdk等目录结合自己的实际情况进行修改) :
JAVA_HOME=/usr/java/jdk1.7.0_67
CATALINA_HOME=/app/apache-tomcat-7.0.55
CATALINA_OPTS="-Xms256m -Xmx896m -XX:PermSize=128m -XX:MaxPermSize=512m"

修改为:


先安装gcc,因为编译的时候要用到
yum install gcc

输入y,回车安装;
创建tomcat用户,用来运行tomcat服务,在生产环境用root是不安全的,所以
useradd -s /sbin/nologin tomcat
chown -R tomcat:tomcat /app/apache-tomcat-7.0.55
要将tomcat作为linux的daemon运行,需要commons-daemon工程的jsvc工具,tomcat的bin目录里已经自带了这个工具的源码。/app/apache-tomcat-7.0.55/bin/commons-daemon-native.tar.gz,解压它,编译它;
tar -xzvf commons-daemon-native.tar.gz
cd commons-daemon-1.0.15-native-src/unix
./configure
make
cp jsvc ../..
将tomcat服务做为service,和操作系统一起启动。
cp daemon.sh /etc/init.d/tomcat
chmod 755 /etc/init.d/tomcat
修改tomcat的配置;
cd /etc/init.d
vi tomcat
增加配置:
# chkconfig: 2345 10 90
# description: tomcat ....

加入到服务;
chkconfig --add tomcat
chkconfig tomcat on
chkconfig --list tomcat

确认2~5为on的状态就OK了。启动Tomcat:
service tomcat start
浏览器访问网站,出现tomcat的首页就表示成功了,骚年;

6、修改tomcat配置
修改server.xml,修改端口为80;
service tomcat stop
cd /app/apache-tomcat-7.0.55/conf
vi server.xml
增加GET请求编码支持:
URIEncoding="UTF-8"
useBodyEncodingForURI="true"

启动tomcat验证;
service tomcat start
7、部署web程序
先修改DNS绑定到新的主机ip,我这里用的是https://www.dnspod.cn/,修改ip就可以了;

上传程序到tomcat的webapps目录;

上传war包之后,tomcat会自动解压;
修改默认项目为你自己的项目,server.xml中Host节点增加配置;
<Context docBase="xqsoso" path="/" reloadable="true"/>

启动tomcat,访问网站,验证成功,ok洗洗睡;
SSD Cloud Hosting - Linode的配置和部署,搭建Java环境的更多相关文章
- SSD Cloud Hosting–Linode-Mysql数据库的安装与配置
接着上一篇的话题:SSD Cloud Hosting - Linode的配置和部署,搭建Java环境 8.Mysql数据库的安装与配置 安装 检查yum里边有没有mysql: yum list|gre ...
- 14行脚本配置Linux下一个Java环境变量
供Java人们刚开始学习.多半Java它需要花费大量的精力在开发环境的配置,于Linux下一个,构造Java环境变量,很可能加入这一努力. 为此,我做了一个bash脚本来配置自己主动Java环境变量. ...
- zookeeper与kafka安装部署及java环境搭建(发布订阅模式)
1. ZooKeeper安装部署 本文在一台机器上模拟3个zk server的集群安装. 1.1. 创建目录.解压 cd /usr/ #创建项目目录 mkdir zookeeper cd zookee ...
- 【Java】须要配置的三个Java环境变量
我的电脑→属性→高级系统设置→高级→环境变量 1.JAVA_HOME : JDK的安装路径 2.PATH : %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 3.CLASSP ...
- 2019-04-11 python入门学习——配置机器及搭建开发环境
# 在windows操作系统中搭建python 3.x版本的开发环境,开发工具为 Anaconda 3. # 1.1 下载及安装Anaconda 3 Anaconda的特点:集成性高,包含很多常用的开 ...
- Linux上部署Tomcat(包括JAVA环境的配置)
一. 用FTP工具,把apache-tomcat-7.0.64.tar.gz,jdk-7u79-linux-x64.tar.gz 上传到目录/home/zwl/Tomcat/命令下 因为Tomcat运 ...
- 【环境配置】Linux环境下下载、配置java环境、安装eclipse、建立eclipse快捷方式详解
一.首先是下载Java JDK 到目前为止的最新版本为(jdk1.8.0_60),有两种方式进行下载: 1.使用shell来进行下载,可使用如下命令直接进行下载: wget --no-check-ce ...
- JAVA环境变量配置详解(Windows)
JAVA环境变量配置详解(Windows) JAVA环境变量JAVA_HOME.CLASSPATH.PATH设置详解 Windows下JAVA用到的环境变量主要有3个,JAVA_HOME.CLA ...
- 如何配置Java环境变量
百度经验 | 百度知道 | 百度首页 | 登录 | 注册 新闻 网页 贴吧 知道 经验 音乐 图片 视频 地图 百科 文库 帮助 发布经验 首页 分类 任务 回享 商城 特色 知道 百度经验 &g ...
随机推荐
- Myeclipse 10 破解说明
一,准备阶段 : 1. 破解软件(网上有下载) 2. JDK软件(免费软件) 二,开始破解: 1. 关闭MyEclipse 10.0 2. 安装 JDK 三,特殊说明: 有些机器安装时会出现run.b ...
- stanford-postagger中文词性标注
安装 系统需要安装Java1.6+ http://nlp.stanford.edu/software/tagger.shtml 下载Download full Stanford Tagger vers ...
- OOP数据库操作方法
一.数据库操作 连接MYSQL数据 面向对象访问数据库e.g. 造对象 $dx=new MySQLi("localhost","root","123& ...
- python -- 一致性Hash
python有一个python模块--hash_ring,即python中的一致性hash,使用起来也挺简单. 可以参考下官方例子:https://pypi.python.org/pypi/hash_ ...
- AOJ - 0009 Prime Number (素数筛法) && AOJ - 0005 (求最大公约数和最小公倍数)
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=34870 求n内的素数个数. /* ********************* ...
- JSON 之 SuperObject(7): 可以省略的双引号
在 JSON 中, 字符串应该在双引号中; 从上个例子才发现: 原来这个双引号可以省略, 有空格都行 当然只是在程序代码中可以省略, 对象会自动识别添加的. 即如此, 下面写法都可以: uses Su ...
- 聚集索引、非聚集索引、聚集索引组织表、堆组织表、Mysql/PostgreSQL对比、联合主键/自增长、InnoDB/MyISAM(引擎方面另开一篇)
参考了多篇文章,分别记录,如下. 下面是第一篇的总结 http://www.jb51.net/article/76007.htm: 在MySQL中,InnoDB引擎表是(聚集)索引组织表(cluste ...
- Gson解析POJO类中的泛型参数
在开发Android与API交互的时候,使用Json格式传输,遇到了这样一个情况,返回数据格式POJO类如下: public class ApiResult<T> { private in ...
- zoj 3822 Domination (概率dp 天数期望)
题目链接 参考博客:http://blog.csdn.net/napoleon_acm/article/details/40020297 题意:给定n*m的空棋盘 每一次在上面选择一个空的位置放置一枚 ...
- HDU 3389 (Nim博弈变形) Game
参考了众巨巨的博客,现在重新整理一下自己的思路. 首先在纸上画了一下转移图: 1 3 4号盒子是不能够再转移卡片到其他盒子中去了的,其他盒子中的卡片经过若干步的转移最终也一定会转移到1 3 4号盒子中 ...