RAP文案是一个project,可放在tomcat下运行,启动过程中需要用到mysql和redis。
本例中使用docker来安装并启动RAP。
docker的安装启用
1.安装docker---sudo apt-get install -y docker.io
2.启动docker--sudo service docker start
3.查看docker镜像
docker内启动mysql
1.查找mysql资源--sudo docker search mysql
这里我们选用第一个mysql的仓库资源就可以了
2.下载mysql资源--sudo docker pull mysql
3.查看docker镜像--sudo docker images
4.使用mysql镜像启动mysql服务--sudo docker run --name mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 -d f00
启动服务后,本机是可以进入mysql的,但远程连接发现失败,这是因为mysql初始化的配置是不支持远程去访问的。则需要进入mysql容器内修改一些允许远程访问的配置。若远程可以访问则跳过第5步
5.设置远程可访问
进入容器内部--sudo docker exec -it mysql bash
容器内更新apt-get库并安装vim
apt-get update
apt-get install vim
此时可以使用vim去打开配置并修改--vim /etc/mysql/mysql.conf.d/mysqld.cnf
我们选的这个镜像的bind_address本来就是被注释的,所以可以不更改,也可以打开注释并将值改为0.0.0.0
接着进入mysql数据库--mysql -uroot -p123456
use mysql
select host,user from user;
当看到root账户的host为%时则,表明可以远程访问了,如果root的host不为%则直接使用sql语句update就行了。当然你也可以新增用户并将它的host设为%,再用这个新用户登录
若刚才进入容器并做了修改,则通过commit来提交刚才的修改,第一个mysql是容器名,后一个mysql是镜像名,当然也可以用容器id和镜像id
sudo docker commit mysql mysql
docker内启动redis
1.查找资源--sudo docker search redis
2.下载并查看镜像--sudo docker pull redis
3.启动redis容器--sudo docker run --name redis -p 6379:6379 -d redis
4.访问
因为默认不需要密码就可以通过6379端口访问redis,所以很容易遭到攻击,使得服务器成为肉鸡,所以一般redis不要去设置可远程连接。本次RAP不需要远程访问该Redis,本机访问即可。
若业务上必须要远程访问,则需要修改以下几点:
①redis3之前版本进入redis容器,在/etc/redis/redis.config中修改bind为0.0.0.0,打开注释requirepass并设置密码,退出容器并docker commit '容器' '镜像名',再用新镜像重新启动一个容器;redis3之后的版本使用docker启动命令时需要使用-v挂载一个自写的redis.config,因为镜像默认没有配置文件
②开通服务器防火墙6379端口
③服务器安全组设置需要开通6379端口的入和出规则
④若做完①②③后还是远程连接失败,则可以校对java代码的redis版本和服务器redis服务版本,这也有可能会有影响,最后还可以寻求服务器提供商帮助,他们也可能针对6379端口做了特殊后台的安全组端口设置。
docker启动tomcat
1.查找资源并下载tomcat--sudo docker search tomcat
sudo docker pull tomcat
2.sudo docker images
3.本例中,我们需要把RAP的war包放入tomcat容器跑动,所以挂载了宿主机的/home/tomcat/ubuntu/webapps/root包,这样war包放入该路径下就可以等效放入容器中了。
sudo docker run --name tomcat -p 8080:8080 -v $PWD/webapps:/usr/local/tomcat/webapps -d tomcat
4.下载安装包后将安装包重命名为ROOT.war并放入
5.修改配置--vim ROOT/WEB-INF/classes/config.properties
因为此前的配置中修改过bind_address信息,所以这里一律将localhost改成ip,另外再添加mysql的root密码,最后在mysql中新建rap_db的数据库
5.重启tomcat
6.访问RAP--http://xxxxxx:8080
7.开机自启