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 ...
随机推荐
- Pipeline aborted due to error
报错内容 x. Pipeline aborted due to error {:exception=>"LogStash::ConfigurationError", ... ...
- Android 使用Application类保存应用的全局数据
在实际应用我们经常需要对数据进行交互与保存,但Intent中默认的方法对传输数据是有类型限制的,当我们需要传输或保存一个复杂的泛型数据时,使用Application是一个很好的解决办法. 顾名思义,A ...
- Android SQLite数据库增删改查操作
一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库——SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符 ...
- 10位IT领袖给应届毕业生的10条忠告
10位IT领袖给应届毕业生的10条忠告,在走向独立和自主的伟大征程中,吸取他们的经验. 在毕业生们迈出象牙塔之时,他们应该听从哪些人的建议?在走向独立和自主的伟大征程中,他们该吸取哪些教训?听一听各领 ...
- IMP导入数据 报错 IMP-00058 ORA-01691 IMP-00028
查看导入日志,发现错误如下: oracle@sspt:/back/log> cat imp.HD_HDXX.log Connected to: Oracle Database 11g Enter ...
- js中的cookie使用
在网上找到的资料,收藏一下 function getCookies(name) { var arr = document.cookie.match(new RegExp("(^| )&quo ...
- Google 网络库Volley简介
Volley是什么? 2013 Google I/O 大会发布的Android平台网络通讯库,旨在帮助开发者实现更快速,简单,健壮的网络通讯.支持网络图片的缓存加载功能. 适用场景:数据量不大,但是通 ...
- 单元测试之道(使用NUnit)
首先来看下面几个场景你是否熟悉 1.你正在开发一个系统,你不断地编码-编译-调试-编码-编译-调试……终于,你负责的功能模块从上到下全部完成且编译通过!你长出一口气,怀着激动而 又忐忑的心情点击界面上 ...
- JAVA设计模式之【简单工厂模式】
1.创建抽象类User public abstract class User // 抽象类 { public void sameOperation() { System.out.println(&qu ...
- Git基础(二)
本章内容将介绍第二部分:本地仓储操作.为了加深对每个命令操作的理解,我们可以事先获取一个仓储边学边操作.这里首先 你要明白一个概念,所有本地工作目录下的文件状态无不在乎两种,已跟踪和未跟踪.已跟踪文件 ...