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环境的更多相关文章

  1. SSD Cloud Hosting–Linode-Mysql数据库的安装与配置

    接着上一篇的话题:SSD Cloud Hosting - Linode的配置和部署,搭建Java环境 8.Mysql数据库的安装与配置 安装 检查yum里边有没有mysql: yum list|gre ...

  2. 14行脚本配置Linux下一个Java环境变量

    供Java人们刚开始学习.多半Java它需要花费大量的精力在开发环境的配置,于Linux下一个,构造Java环境变量,很可能加入这一努力. 为此,我做了一个bash脚本来配置自己主动Java环境变量. ...

  3. zookeeper与kafka安装部署及java环境搭建(发布订阅模式)

    1. ZooKeeper安装部署 本文在一台机器上模拟3个zk server的集群安装. 1.1. 创建目录.解压 cd /usr/ #创建项目目录 mkdir zookeeper cd zookee ...

  4. 【Java】须要配置的三个Java环境变量

    我的电脑→属性→高级系统设置→高级→环境变量 1.JAVA_HOME : JDK的安装路径 2.PATH : %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 3.CLASSP ...

  5. 2019-04-11 python入门学习——配置机器及搭建开发环境

    # 在windows操作系统中搭建python 3.x版本的开发环境,开发工具为 Anaconda 3. # 1.1 下载及安装Anaconda 3 Anaconda的特点:集成性高,包含很多常用的开 ...

  6. Linux上部署Tomcat(包括JAVA环境的配置)

    一. 用FTP工具,把apache-tomcat-7.0.64.tar.gz,jdk-7u79-linux-x64.tar.gz 上传到目录/home/zwl/Tomcat/命令下 因为Tomcat运 ...

  7. 【环境配置】Linux环境下下载、配置java环境、安装eclipse、建立eclipse快捷方式详解

    一.首先是下载Java JDK 到目前为止的最新版本为(jdk1.8.0_60),有两种方式进行下载: 1.使用shell来进行下载,可使用如下命令直接进行下载: wget --no-check-ce ...

  8. JAVA环境变量配置详解(Windows)

    JAVA环境变量配置详解(Windows)   JAVA环境变量JAVA_HOME.CLASSPATH.PATH设置详解  Windows下JAVA用到的环境变量主要有3个,JAVA_HOME.CLA ...

  9. 如何配置Java环境变量

    百度经验 | 百度知道 | 百度首页 | 登录 | 注册 新闻 网页 贴吧 知道 经验 音乐 图片 视频 地图 百科 文库 帮助   发布经验 首页 分类 任务 回享 商城 特色 知道 百度经验 &g ...

随机推荐

  1. Pipeline aborted due to error

    报错内容 x. Pipeline aborted due to error {:exception=>"LogStash::ConfigurationError", ... ...

  2. Android 使用Application类保存应用的全局数据

    在实际应用我们经常需要对数据进行交互与保存,但Intent中默认的方法对传输数据是有类型限制的,当我们需要传输或保存一个复杂的泛型数据时,使用Application是一个很好的解决办法. 顾名思义,A ...

  3. Android SQLite数据库增删改查操作

    一.使用嵌入式关系型SQLite数据库存储数据 在Android平台上,集成了一个嵌入式关系型数据库——SQLite,SQLite3支持NULL.INTEGER.REAL(浮点数字). TEXT(字符 ...

  4. 10位IT领袖给应届毕业生的10条忠告

    10位IT领袖给应届毕业生的10条忠告,在走向独立和自主的伟大征程中,吸取他们的经验. 在毕业生们迈出象牙塔之时,他们应该听从哪些人的建议?在走向独立和自主的伟大征程中,他们该吸取哪些教训?听一听各领 ...

  5. IMP导入数据 报错 IMP-00058 ORA-01691 IMP-00028

    查看导入日志,发现错误如下: oracle@sspt:/back/log> cat imp.HD_HDXX.log Connected to: Oracle Database 11g Enter ...

  6. js中的cookie使用

    在网上找到的资料,收藏一下 function getCookies(name) { var arr = document.cookie.match(new RegExp("(^| )&quo ...

  7. Google 网络库Volley简介

    Volley是什么? 2013 Google I/O 大会发布的Android平台网络通讯库,旨在帮助开发者实现更快速,简单,健壮的网络通讯.支持网络图片的缓存加载功能. 适用场景:数据量不大,但是通 ...

  8. 单元测试之道(使用NUnit)

    首先来看下面几个场景你是否熟悉 1.你正在开发一个系统,你不断地编码-编译-调试-编码-编译-调试……终于,你负责的功能模块从上到下全部完成且编译通过!你长出一口气,怀着激动而 又忐忑的心情点击界面上 ...

  9. JAVA设计模式之【简单工厂模式】

    1.创建抽象类User public abstract class User // 抽象类 { public void sameOperation() { System.out.println(&qu ...

  10. Git基础(二)

    本章内容将介绍第二部分:本地仓储操作.为了加深对每个命令操作的理解,我们可以事先获取一个仓储边学边操作.这里首先 你要明白一个概念,所有本地工作目录下的文件状态无不在乎两种,已跟踪和未跟踪.已跟踪文件 ...