阿里云ECS服务器的搭建

写个博客 记录这个流程

服务器使用CentOS 7.2作为镜像,JDK 1.8,Tomcat 8, MySQL 5.7作为环境,GitHub作为代码托管。

实例

创建实例,选择CentOS 7.2,选择使用SSH来连接,会自动下载一个key.pem,妥善保管这个key,后面连接会用到。

服务器启动好之后,在安全组中配置开放SSH连接端口,使用默认配置就差不多。保存以后不需要重启服务器便可以测试连接。

连接实例,个人使用的是XShell,选择协议为SSH,填写好实例的外网IP地址、端口号,切换到用户身份认证:

选择方法 > Public Key > 输入创建实例填写的用户名 > 用户密钥 > 导入key.pem >配置完成,现在就可以试试连接了。具体参照图1跟图2。

图1
图1

图2
图2

NOTE

后续如果要更改key.pem,就在阿里云控制台界面 > 密钥对 重新绑定项目,若在开机时配置,则需要重启。

JDK

连接上以后,就可以进行环境的配置了。首先配置好JDK,个人在Oracle的官网找到了jdk-8u151-linux-x64.tar.gz,然后在 /usr 下新建名为java的文件夹,在CentOS中使用 wget 命令下载到 /usr/java 下,使用 tar 命令解压到同级目录下,此时 /usr/java 下存在着 tar.gz 包以及 解压出JDK的文件夹,可以说一切准备就绪了。图3是获取JDK的Url的方法。
下载JDK

# wget -P /usr/java http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz

以及解压tar.gz

# tar -zxvf /usr/java/jdk-8u151-linux-x64.tar.gz

下载JDK
图3

现在我们开始配置CentOS中的Java环境,编辑 /etc/profile

# vim /etc/profile

在文件最后,加入

export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$JAVA_HOME/bin/:$PATH

然后执行一下命令,使配置立即生效

# source /etc/profile

并执行命令,查看Java的版本,如果有详细信息,即为配置成功

# java -version

至此,Java环境就算配置完成了。

Tomcat

Tomcat的配置,在Apache的官网下载好了,跟JDK下载流程如出一辙,一样是使用wget以及tar,下载并解压到/usr/tomcat,图4为tar.gz下载地址。

tomcat下载
图4

Tomcat 8 中,不需要配置Java Home跟ClassPath,因为在startup.sh中,会执行catalina.sh, 进而执行 setclasspath.sh,选择classpath。

直接执行startup.sh,查看输入,可以看到输出了JRE_HOME,代表JDK是关联起来的(留个坑,毕竟没有war包上传测试)。

如果要修改端口,可以在../conf/server.xml中,修改默认的端口,比如说修改HTTP/1.1默认端口80,就把这里的80改成需要的端口就行了,比如说8080,后面还有一些其他的参数,按需配置。

<Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

如果开启了防火墙,修改防火墙,开放以上的端口以便使用。命令如下。

//  查看已开放端口
# firewall-cmd --list-port
//  开放端口
# firewall-cmd --zone=public --add-port=80/tcp --permanent

最后在阿里云ECS上配置规则,开放端口。访问地址:http://公网地址:端口号,测试是否能够访问Apache默认主页,若能访问说明配置成功。

NOTE

启动有一个比较特殊的问题,就是会启动的比较慢,查看../logs/catalina.out日志发现,是停止在

org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory

解决方法为:修改../bin/catalina.sh,找到其中的JAVA_OPTS,在其上加入

JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"

也可以将$JAVA_PATH/jre/lib/security/java.security中的

securerandom.source=file:/dev/urandom

修改为

securerandom.source=file:/dev/./urandom

Git

使用GitHub来作为代码托管平台,创建一个仓库,选择public以及增加.gitignoreREADME.md两个文件。
此后,使用SSH的方式clone仓库,在CentOS中执行:

// 将 your_email@example.com 替换
# ssh-keygen -t rsa -C "your_email@example.com"

如果一路回车,按默认配置,将会有id_rsaid_rsa.pub生成在/root/.ssh路径下,其中id_rsa.pub是公钥,以ssh-rsa开头,而id_rsa是私钥。

打开仓库,按图5操作,增加一个key。在弹出的页面填写Title以及key,key就是刚刚生成的id_rsa.pub

github密钥配置
图5

至此GitHub仓库配置完成,接下来配置CentOS中的Git。使用yum install git直接安装git支持,如果yum没有配置好的,可以另求途径。安装好Git以后,先配置好全局使用的user.name以及user.email,命令如下:

// 将name以及your_email@example.com替换
# git config --global user.name "name"
# git config --global user.email "your_email@example.com"

现在我们回到/usr下,创建一个名为git的文件夹,主要用来保存clone下来的代码,cd到/usr/git下,执行clone命令:

// 将your_github_account与project_name 替换
# git clone git@github.com:your_github_account/project_name.git

其中git clone的参数获取方式,在GitHub的仓库中,有一个clone or download按钮,点击以后弹框,在弹框里找到Use SSH,把内容切换成SSH即可,具体如图6显示。

GitHub获取SSH地址
图6

然后就可以拉取下来了,如果更改生成密钥的地方(默认是生成到/root/.ssh中),就要去将密钥关联到SSH。个人查看了一下很多配置GitHub的SSH连接密钥的方式,发现都是使用默认生成的地址,并不使用密码的,一是为了方便,二是为了节省时间。

使用TortoiseGit连接GitHub(SSH)

Windows下使用TortoiseGit来连接GitHub,同样是使用SSH的方式。将以上保存的id_rsa复制出来,保存为id_rsa.txt,然后打开PuTTYgen(安装TortoiseGit自动创建在开始菜单中的程序组里有相关工具包,其中就有PuTTYgen),如图7操作,选择保存的id_rsa.txt导入,并点击Save Private Key,保存好生成的后缀为.ppk的文件。

PuTTYgen使用
图7

此后选择好地方clone仓库,在git clone页面,如图8所示填写GitHub的SSH地址,以及选择生成的.ppk文件,就可以clone下来了。

使用ppk来clone
图8

NOTE

我把GitHub配置好了以后,重启实例时,发现不能依靠SSH来连接实例了,会提示“所选的用户密钥未在远程主机上注册。”,疑是生成了GitHub的密钥的时候,执行了rm命令将/root/.ssh中的密钥删除了,遂重新配置密钥对并重启,再次使用新的key.pem发现成功连接,发现在/root/.ssh中,存有一个authorized_keys文件,打开一看内容,在最后有user@houyi字样,基本可以确定是阿里云系统自动生成的SSH登录密钥了。
还有记录一些使用的Git命令:

# git log --oneline // 查看日志,只显示一行
# git pull // 拉取仓库

MySQL

MySQL配置周期比较长,很多地方都记的不是很清楚,先占个坑。

找到MySQL官网,如图9,图10找到需要的资源,用wget在CentOS中下载rpm包。

MySQL的yum源
图9

这里写图片描述
图10

下载以后,执行一下命令安装MySQL:

# rpm -Uvh mysql57-community-release-el7-11.noarch.rpm // 安装yum源
# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 // 导入密钥
# yum erase mysql // 如果以前有安装MySQL,就执行卸载命令
# yum install mysql-community-server // 安装MySQL

安装完成以后,执行以下命令:

# systemctl start mysqld.service // 启动
# systemctl status mysqld.service // 查看启动状态
# systemctl enable mysqld.service // 设置开机启动

设置MySQL密码:

# grep 'temporary password' /var/log/mysqld.log // 查看临时密码
# mysql -uroot -p // 使用临时账户登录,此后输入临时密码
# mysql -u username -p // 之后如果需要登录,就使用这个命令,键入以后再输入密码

进入MySQL以后,添加帐号,执行:

// 将password 替换成设置的密码,默认包含数字、大小写字符、字符,个人用的是16位的
ALTER USER 'username'@'localhost' IDENTIFIED BY 'password';
// 或者
set password for 'username'@'localhost'=password('password');

设置MySQL默认编码,配置文件在/etc/my.cnf下,增添以下配置:

# own
[client]  
default-character-set=utf8

# own
default-storage-engine=INNODB  
character-set-server=utf8  
collation-server=utf8_general_ci

NOTE
如果要用Navicat这类工具来连接MySQL,那就要开放连接权限以及端口,这个配置在MySQL数据库的mysql DB下的user表中,执行:

// 增加用户权限 后面回来测试发现不行 只能用update命令来更新 比如 `update user set host = '%' where user ='root';`
grant all privileges on *.* to 'username'@'%' identified by 'password' with grant option;

之后使用firewall命令开放端口,如果在阿里云的安全组里没有端口配置,那要增加端口配置。

navicat连接
图11

也可以通过SSH连接,如图12,填写用户名跟选择密钥(远程登录SSH用的key.pem),个人测试如果不用SSH的话也可以连接。

这里写图片描述
图12

  • 0
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值