阿里云搭建测试平台教学(1)
本系列文章讲述的是一个系列的第一部分,最终可以在阿里云上搭建一整套测试平台,本测试平台的前后端分离,前端vue编写,后端java springboot编写,而且使用了mysql和redis
本文的前提是你已经可以在公司内部本地运行测试平台了,故测试平台内部代码逻辑不在本系列文章讨论范围之内
1,购买并登陆服务器
如果选择了阿里云作为我们的服务器,那域名等均建议使用阿里云的(同理,腾讯云的就都是用腾讯云的)
这里不讲如何购买的,毕竟有很多渠道,购买完成后,进入如下页面
https://ecs.console.aliyun.com/#/home
上面有公网ip,打开任意xshell或者mac的终端,ssh root@123.57.133.251,输入密码可以直接登陆,进去之后发现什么都没有,这时,就需要安装相关配置了
2,mysql安装
在安装之前,应该仔细确认mysql的版本,字符集以及是否忽略表大小写等问题,本文不进行赘述
阿里云本身对yum命令较为适配,真心建议使用yum系列命令安装后续工具
如此会安装mysql,但是需要注意,如此安装的mysql会是最新版本,如果要指定版本需要自行探索,依据自身的版本号而定,不同的版本,sql语句和表结构等各处设定都有一些出入
如此安装后,可以试图登陆mysql,先看mysql配置文件路径,一般是在/etc/my.cnf,找不到的话就找my.cnf这个文件名的文件即可
如图所示,为mysql日志路径,在安装后,mysql后给机器自动设置一个随机密码,并允许本地进行mysql访问,此时去看上图日志文件可以找如下文字,后面的就是初始密码
A temporary password is generated for root@localhost:初始密码
输入mysql -u root -p+初始密码,可以顺利登陆,我们第一件事就是改为自己的设置的密码
set global validate_password_policy=0;
set global validate_password_length=4;
flush privileges;
set password for root @localhost=password('passwd');
如此可以设置密码成功
一般的如上所示配置后,重启mysql服务systemctl restart mysqld.service,可以以新密码登陆,一般mysql是在3306端口,我们以购买的阿里云的外网ip和3306端口和root账户密码连接,会发现无法外网连接,这里也需要修改
如果想要自己的阿里云mysql可以被外网访问,则需要以下两步完成(一般软件也并不需要我们连接外网,这两步并不是真的需要)
a,设置mysql用户权限,使得其本身允许我们外网连接
一般的mysql的访问权限,是存在如图所示的表中
其中host代表可以访问的ip,默认是localhost也就是本地,故如果要外网访问,则需要修改该字段完成操作
所以我们可以执行
use mysql;
update user set host='%' where user='root';
flush privileges;
如此可以让外网可以访问
b,设置阿里云安全策略,使得我们可以正常访问
阿里云,本身就有一个安全组策略,即便是你可以顺利搞定了上文,阿里云安全策略也会让外网无法访问其上的mysql,你也需要进行如下配置才可以顺利访问
https://blog.csdn.net/museions/article/details/90475960
本博客不做赘述,以后的接口和各项访问也是如此,如果外部要通过阿里云服务获取到相关结果,则对应接口的安全组策略开通,是必要的
在上述代码完成后,后端代码如果搭建在本地,则可以配置在127.0.0.1,或者外网ip,或者内网ip均可,如图所示
3,java安装
首先确认好,你要安装的java版本
yum -y list Java*
根据需要选择安装的jdk版本,这里安装jdk1.8
执行如下命令, 然后等待安装完成
yum install -y java-1.8.0-openjdk-devel.x86_64
安装完毕后执行如下命令查看版本
java -version
使用yum安装后 jdk目录位置
usr/lib/jvm
4,maven安装和调用
安装好了java后,我们要安装maven了,作为一个打包工具,这也算是很重要的一个工具,其功能,是对java工程源码进行打包
这里下载好了之后进行环境,这里自行百度吧,实在是费劲啊
5,redis安装和调用
阿里云的redis相对的较为复杂,可以分为以下几步:a,安装 b,设置密码等,然后重启 c,设置防火墙配置,让对应的端口内网或者外网可以访问
a,安装
阿里云redis安装,一般常见的yum命令或者wget安装即可
wget http://download.redis.io/releases/redis-4.0.2.tar.gz,版本自行修改
tar xzf redis-4.0.2.tar.gz,解压,路径自行修改
然后输入cd ~/redis-4.0.2
make可以顺利运行即可,如此出现如图所示页面视为已经顺利启动了
b,重启
上文中没有任何修改情况下一般都是可以启动的,会在6379端口启动,实际上如此启动的redis也是可以用的,但是阿里云不行,安全机制不会让你这样使用的
故一定要设置一个较为复杂的密码,然后重新启动redis
一般的redis配置路径之下,会有一个redis.conf文件,这是redis的配置文件
将其中daemonize yes由原先的no改为yes
密码也可以在这个文件中修改,寻找requirepass,写上你自己的密码即可
然后退出来,如果你没有修改路径的话,会在当前文件夹下的src ,cd进入后运行以下命令./redis-server rconfig/redis.conf(这是刚刚修改的文件的路径)
如此将以刚刚修改的文件启动redis,启动之后,一般的就算是修改了正确的密码了
如此便可以顺利启动了redis,后续java后端或者其他服务如果需要可以直接访问该redis,需要注意的是,上述启动的redis,只有127.0.0.1或者本地服务可以访问(即你购买的其他服务器,访问内网ip),外网是无法访问的
c,外网访问
首先,笔者经过一番尝试,非常不建议大家把redis的外网访问权限放开,主要是因为:
A,redis这种东西,一般的内网访问就够了其实,与数据库有一些相似性,可以满足日常功能
B,如果你的网站,redis密码复杂度一般,而且还有一定的访问量,redis增加外网访问权限,会对阿里云安全性产生实际上的巨大影响
笔者亲身实践过了木马以及删除木马的过程,关闭了redis外网访问权限是真的舒服啊,,,
如果看了这些你依然期望开发外网访问权限,请往下看:
假设你redis在6379端口启动,这里不再赘述阿里云安全组修改策略,请自行修改为6379端口可以读写的状态
你会发现,还是无法从外网访问redis,,,这又涉及到阿里云防火墙以及安全策略问题
首先,你要把redis.conf文件中bind配置,修改为0.0.0.0 ,原有配置也许是127.0.0.1 bind 0.0.0.0
protected-mode no也需要改,原有是yes,然后重新启动
5, nginx安装
wget http://nginx.org/download/nginx-1.16.0.tar.gz
tar -zxvf nginx-1.16.0.tar.gz
cd nginx-1.16.0
./configure
make -j4 && make install
然后进入目录启动./nginx
重启:./nginx -s reload
停止:./nginx -s stop
应该了解到/nginx/conf/nginx.conf 是nginx配置文件,这里不进行详细说明,仅仅介绍,下一个章节讲部署等事情
6,npm和cnpm前端工具安装
这里可以直接使用下列命令安装
wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz
tar xvf node-v10.16.3-linux-x64.tar.xz
ln -s /root/node-v10.16.3-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v10.16.3-linux-x64/bin/npm /usr/local/bin/npm
node -v
npm -v
npm install -g cnpm --registry=https://registry.cpm.taobao.org
如此即可完成整体的安装工作