为了账号安全,请及时绑定邮箱和手机立即绑定

Amazon服务器(Ubuntu)上搭建Apache、Tomcat整合开发环境

标签:
Java

公司最近想在Amazon服务器上搞点项目,经理让我在上边搭建一个环境,因为之前没接触过Amazon服务器,一切只能从头慢慢来,边查资料边操作,最后虽然搭建成功了,但我却云里雾里的,先大致记下来操作流程,权当备份一下了,也可以供各位有需求的慕友参考。

声明下:整理的较粗糙,有不足之处,欢迎各位予以指正。感激不尽。

强烈建议下:文中多处英文单词已变的它妈妈都不认识了,比如javac->ja vac。希望慕课的各位大大们,能不能整理一份所谓的敏感词?完全不知道你们要干嘛, 只能去百度敏感词然后一个个改。很烦躁的!

图片描述
图片描述
镇!!!
我大致整理了成了9部分,看目录
目录:
1.链接Amazon服务器(window):Putty工具
2.Pscp工具本地与Amazon服务器文件传输
3.WinSCP工具连接服务器
4.配置安装JDK
5.配置安装to mcat
6.配置安装Apache服务
7.重启to mcat服务、Apache服务
8.Test
9.参考资料
1.链接Amazon服务器(window):Putty工具
Amazon官方教程
需要用到的工具(在上面链接中下载):
putty:shell命令行操作工具
puttygen:转换秘钥
WinSCP:可视化工具
1. Putty工具使用配置:图片描述
上图1为服务器用户名,需要注意的是用户名也要加上,即ubuntu@
上图2为可选操作,即保存当前配置,方便以后直接连接
图片描述
选择Connection-SSH-Auth 然后图右边选择Browse…选择.ppk格式的私钥文件(.ppk文件为.pem文件转换来的,详情见下方2.puttygen.exe工具转换私钥文件
最后配置完点击open按钮
图片描述
登录成功!
2.puttygen.exe工具转换私钥文件
图片描述
选择Load按钮,选择.pem文件(在默认情况下,PuTTYgen 显示扩展名为 .ppk 的文件。要找到您的 .pem 文件,请选择显示所有类型的文件的选项)
图片描述
单击 Sa ve private key (保存私有密钥),以 PuTTY 可用的格式保存密钥。PuTTYgen 显示一条关于在没有口令的情况下保存密钥的警告。单击 Yes (是)
2.Pscp工具本地与Amazon服务器文件传输
本工具需要 文件名.ppk私钥文件进行认证(文件)

  1. 将pscp.exe文件放到C:\Windows\System32路径下(之后可以在本机的任意位置使用pscp进行文件操作)
  2. Win + r 输入cmd 打开命令行窗口输入命令:
本地文件上传到服务器:
    命令格式:pscp  –i  .ppk文件绝对路径  需要上传到Amazon服务器的文件绝对路径名  Amazon服务器:目标路径
本地下载服务器上的文件:
    命令格式:pscp  –i  .ppk文件绝对路径  Amazon服务器:文件路径 本地路径

另简单操作:在需要上传的文件路径下,按住shift然后鼠标右键选择“在此处打开命令窗口”然后需要上传文件只要传文件名即可,就不用写一大串的绝对路径名了
注意:命令之间不可存在换行符号
3.WinSCP工具连接服务器
图片描述
注意:2处的主机名和使用Putty工具连接时候的不同, 这个工具的主机名中不包括” ubuntu@”
2.点击”高级”
图片描述
图片描述
图片描述
图片描述
配置完后点击”确定”按钮回到主界面,点击保存然后点击登录即可。
图片描述
4.配置安装JDK
注:安装前 需要检查下服务器上是否已经存在ja va程序,如果没有在执行下边的安装操作。
图片描述
1.进入JDK下载地址点击这儿
2.先选中1,然后右键2copy链接地址
图片描述
3.登录Amazon服务器,cd到opt(这个根据个人情况选择)目录下然后下载jdk文件
通过wget命令下载jdk文件

sudo wget http://download.oracle.com/otn-pub/ja va/jdk/8u91-b14/jdk-8u91-linux-x64.tar.gz

注:下载完后一定要检查下下载的文件包大小,命令:sudo du –sk filename
因为之前安装时出现过一个问题就是下载下来的文件只有6k大小,一定是错误的文件。如果出现这种情况需要按以下步骤执行:
图片描述
出现该提示,然后点击“显示下载内容
图片描述
然后回到命令窗口执行命令:

sudo wget 上面copy的链接地址 –O filename(下载的文件名)

4.下载完成后确认文件大小是否正确
5.执行解压操作:sudo tar -zxvf filename
另:tar命令详解:点击这里
6.配置环境变量
sudo vi /etc/profile 输入i进入vi编辑模式,定位到文件最下方位置
添加以下代码:

export Ja vA_HOME=/opt/jdk1.8.0_91
export PATH=$PATH:$Ja vA_HOME/bin:$Ja vA_HOME/jre/bin
export CLAS SPATH=.:$Ja vA_HOME/lib:$Ja vA_HOME/jre/lib:$CLAS SPAT
export Ja vA_HOME PATH CLAS SPATH

敲击键盘esc退出编辑模式,输入:wq(保存并退出vi)敲击回车
另参考:Linux下vi命令详解
执行命令:source /etc/profile(立即加载环境变量并使其生效)
执行ja va –version、ja va、ja vac命令查看jdk是否配置成功。具体的环境变量可以输入echo $PATH($Ja vA_HOME、$JRE_HOME等)查看详情
另:Ubuntu系统默认安装并使用OpenJDK,如果服务器中存在OpenJDK并且又自己安装了JDK需要手动修改系统默认的JDK:

sudo update-alternatives --install /usr/bin/ja vac ja vac /usr/lib/ja va/jdk1.7.0_11/bin/ja vac 300
sudo update-alternatives --install /usr/bin/ja va ja va /usr/lib/ja va/jdk1.7.0_11/bin/ja va 300
sudo update-alternatives --config ja vac,再选择相应的Priority
sudo update-alternatives --config ja va,再选择相应的Priority

5.配置安装to mcat
操作同JDK使用wget命令安装:to mcat下载地址,只不过不需要配置环境变量
6.配置安装Apache服务
参考资料:Ubuntu下安装配置LAMP
1.下载安装Apache服务sudo apt-get install apache2 mysql-server mysql-client php5
2.下载安装mod_jksudo apt-get install libapache2-mod-jk
3.cd到apache目录下cd /etc/apache2
4.执行命令sudo vi ports.conf,添加以下代码
图片描述
:wq保存并退出
5.执行命令sudo vi httpd.conf(如果没有该文件则会创建)
添加代码:ServerName 127.0.0.1
:wq保存并退出
6.执行命令sudo vi workers.properties(如果没有该文件则会创建)
添加代码:

ps=/

# Define workers
worker.list=to mcat1,to mcat2

# Set properties for to mcat1 (worker1)
worker.to mcat1.type=ajp13
worker.to mcat1.host=127.0.0.1
worker.to mcat1.port=8009
worker.to mcat1.lbfactor=50
worker.to mcat1.socket_keepalive=1
worker.to mcat1.socket_timeout=300

# Set properties for to mcat2 (worker2)
worker.to mcat2.type=ajp13
worker.to mcat2.host=127.0.0.1
worker.to mcat2.port=8010
worker.to mcat2.lbfactor=50
worker.to mcat2.socket_keepalive=1
worker.to mcat2.socket_timeout=300

上面这么配置是因为我配置了两个to mcat
:wq保存并退出
执行命令sudo vi /etc/apache2/mods-a vailable/jk.conf
修改代码(指定配置文件的路径):
图片描述
修改mod_jk.conf
修改/etc/apache2/sites-a vailable目录下的000-default.conf文件

# Sample mod_jk configuration
# for Apache 2
#
# for all commands/options a vailable see the manual
# provided in libapache-mod-jk-doc package.

# The location where mod_jk is going to place its log file
JkLogFile       /var/log/apache2/mod_jk.log

# The log level:
# - info log will contain standard mod_jk activity (default).
# - warn log will contain non fatal error reports.
# - error log will contain also error reports.
# - debug log will contain all information on mod_jk activity
# - trace log will contain all tracing information on mod_jk activity
JkLogLevel error

# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y] " 

# JkOptions indicate to send SSL KEY SIZE, 
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories 

# JkRequestLogFormat set the request format 
JkRequestLogFormat "%w %V %T" 
#80端口
<VirtualHost *:80>
    #单独有JkMount规则有效,但单独有JkUnMount无效,JkUnMount与JkMount要成对出现.
    #JkMount把匹配的转发到指定服务器. 通过JkMount把页面都交给to mcat1服务器 
    JkMount /* to mcat1
    #JkUnMount把匹配的不转发到指定服务器. JkUnMount选项的级别高于JkMount
    JkUnMount /styles/* to mcat1
    JkUnMount /content/* to mcat1
    JkUnMount /_app/* to mcat1
    JkUnMount /cal_tmp/* to mcat1
    #指定apache服务器网页(文档)根目录,此处用来指定静态文件(样式等)的路径
    DocumentRoot "/var/www/自定义/html"
    <Directory "/">
       #配置在特定目录使用的特性
       #FollowSymLinks: 在该目录下允许文件系统使用符号连接
       #Indexes: 当用户访问该目录时,如果用户找不到DirectoryIndex指定的主页文件(例如index.html),则返回该目录下的文件列表给用户。
       Options Indexes FollowSymLinks
       #AllowOverride:允许存在于.htaccess文件中的指令类型(.htaccess文件名是可以改变的,其文件名由AccessFileName指令决定)
       #None: 当AllowOverride被设置为None时。不搜索该目录下的.htaccess文件(可以减小服务器开销)。
       #All: 在.htaccess文件中可以使用所有的指令。
       AllowOverride None
       #Allow:允许访问的主机列表(可用域名或子网,例如:Allow from 192.168.0.0/16)。
       Allow from all
     </Directory>
     ##主页文件的设置
     DirectoryIndex index.html 
</VirtualHost>

7.重启to mcat服务、Apache服务

sudo sh /opt/to mcat7/bin/shutdown.sh (关闭to mcat服务)
sudo sh /opt/to mcat7/bin/startup.sh (启动to mcat服务)

启动时如果以下错误信息:
Neither the Ja vA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program。
因为之前设置环境变量的时候执行了source命令,但还是报这个错,因此我是通过下边方法解决的:

sudo vi /opt/to mcat7/bin/setclas spath.sh

在文件正文顶部加入代码:参考文章

export Ja vA_HOME=/opt/jdk1.8.0_91
export JRE_HOME=/opt/jdk1.8.0_91/jre

然后在重新启动to mcat,启动成功后执行下边操作

sudo /etc/init.d/apache2 restart (重启Apache服务)

8.Test
执行命令:w3m 地址(w3m不能使用的话请自行度娘安装,此处不赘述)
出现如下界面即表示成功
图片描述
小贴士:退出w3m——输入q(quit)根据提示输入y退出(具体使用命令请自行度娘)

图片描述

强烈建议下:文中多处英文单词已变的它妈妈都不认识了,比如javac->ja vac。希望慕课的各位大大们,能不能整理一份所谓的敏感词?完全不知道你们要干嘛, 只能去百度敏感词然后一个个改。很烦躁的!

图片描述

我可以对一个人无限的好,前提是值得。 ——慕冬雪

点击查看更多内容
74人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
全栈工程师
手记
粉丝
9132
获赞与收藏
5502

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消