公司最近想在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私钥文件进行认证(文件)
- 将pscp.exe文件放到C:\Windows\System32路径下(之后可以在本机的任意位置使用pscp进行文件操作)
- 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_jk:sudo 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。希望慕课的各位大大们,能不能整理一份所谓的敏感词?完全不知道你们要干嘛, 只能去百度敏感词然后一个个改。很烦躁的!
我可以对一个人无限的好,前提是值得。 ——慕冬雪
热门评论
给足你面子,已经让产品汪把敏感词给重新梳理一遍,感谢反馈~~若今后还遇到不爽的地方,欢迎到意见反馈中提出哦~~http://www.imooc.com/user/feedback
给足你面子,已经让产品汪把敏感词给重新梳理一遍,感谢反馈~~若今后还遇到不爽的地方,欢迎到意见反馈中提出哦~~http://www.imooc.com/user/feedback
新浪云也是同样的弄吗?想做IM聊天该怎么弄?