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. [iOS]利用通知实现监听系统键盘

    // // ViewController.m // text // // Created by 李东旭 on 16/1/22. // Copyright © 2016年 李东旭. All rights ...

  2. JVM垃圾回收机制总结(4) :新一代的垃圾回收算法

    垃圾回收的瓶颈 传统分代垃圾回收方式,已经在一定程度上把垃圾回收给应用带来的负担降到了最小,把应用的吞吐量推到了一个极限.但是他无法解决的一个问题,就是Full GC所带来的应用暂停.在一些对实时性要 ...

  3. JBOSS集群技术升级版解决方案分享(图示篇)

    JBOSS集群技术升级版解决方案分享(实现篇)           前段时间,由于阿堂一直较忙,没有写点什么了,有空时一直在关注"web架构和性能,高并发,Cache层"技术领域的 ...

  4. c语言中argc和argv是什么意思?

    argc是参数个数,定义为intargv是字符串数组,存的是参数,定义为char**或者char* argv[]比如你编译好的程序为my.exe在命令行执行 my.exe 1 2 3那argc就是4, ...

  5. Spring boot 整合jsp和tiles模板

    首先贴上我的pox.xml文件,有详细的支持注释说明 <?xml version="1.0" encoding="UTF-8"?> <proj ...

  6. 使用qmake生成Makefile

    Qmake自动生成Makefile 手动写Makefile是一件痛苦的事情,稍不小心就会出错,不过qmake可以让你脱离苦海 qmake可以根据你提供的.pro文件,生成Makefile不过他可比Ma ...

  7. jvm 内存整理 -----学习

      分为:方法区 ,堆 ,栈 ,本地栈 ,程序计数器 1.程序计数器       保存当前线程执行的字节码行号指示器,解释器工作时,都是通过改变计数器的值来获取下一条程序指令,循环.异常.跳转.分支. ...

  8. Ext.grid.plugin.RowExpander的简单用法

    有时候,我们在grid里渲染数据时,由于某些字段的内容太长,而grid又不会自动出现滚动条,于是溢出的内容后面就会出现省略号, 导致信息展示不完全.如果,这个信息不太重要,展示不完全也无关紧要.可是, ...

  9. javascript中 的 + RegExp['\x241'] 怎么理解

    \x24是十六进制转义符,16*2+4=36,ASCII码36代表的正是“$”符号(可以查ASCII码表),十六进制转义符的一般形式是'\xhh',h是0-9或A-F内的一个.$1是javascrip ...

  10. jdbc框架 commons-dbutils的使用

    commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库,它是对JDBC的简单封装,学习成本极低,并且使用dbutils能极大简化jdbc编码的工作量,同时也不会影响程序 ...