最近项目快结束,还没接触到部署项目的相关经验,自学后,将部署中的步骤和遇到的坑给大家分享下~
本文将从虚拟机的安装、安装mysql、redis、tomcat、打包war包、部署启动的顺序给大家介绍。
一、虚拟机安装
1、下载好vmware和centos7的iso文件,网络上都有相关的资源。
2、打开vmware,点击创建新的虚拟机
2、选择自定义(高级)
3、默认选择
4、可以选择稍后安装操作系统。
5、选择Linux -centos 7 64位(依情况而定,你下载的是什么版本就选择相应的)
6、输入虚拟机的名称和选择保存的位置
7、选择处理器数量和核心数,我这边分别选择1和4
8、选择为虚拟机分配的内存,正常来说1g就够用了
9、网络选择NAT模式
10、接下来就以推荐的来
11、在这一步的自定义硬件中,可以去掉不需要的硬件,加快安装速度(例如移除声卡和打印机这种对使用来说没影响的)
12、点击完成后点击编辑虚拟机设置
13、在IDE中选择使用ISO镜像文件,选择你下载的centos7的镜像文件后确定
14、开启虚拟机
15、选择第一个 安装虚拟机(此时你的鼠标会不见了,只能通过键盘的上下和回车键)
16、安装过程就按回车就行,直到进入这个页面,拉到最下方可以选择中文-简体中文
17、先拉到最下方选择网络和主机名,以太网选择打开-完成
18、点击安装源-输入以下:http://mirrors.aliyun.com/centos/7/os/x86_64/ ,完成,等待下载
19、软件选择-带GUI的服务器-完成
20、安装位置-默认(直接点左上角的完成)
21、开始安装,设置root账户的密码和可以新建用户(设置完密码和用户完就可以先去喝杯咖啡等待一下,这个过程还是挺长时间的,估计有半小时以上,我也不知道为啥要这么久,都是安装东西)
22、安装完成后重启,使用root账号登录,右键桌面打开终端,输入ifconfig查看本地ip
23、使用SecureCRTPortable进行连接操作(软件百度上下载)。
输入刚刚设置的密码
进来了。当然也可以直接使用VMware的终端
到此linux安装结束!
二、安装MySQL
1、在本地下载mysql的linux安装包,根据自己的情况下载,我这边是5.6的版本
下载地址:https://dev.mysql.com/downloads/mysql/
2、下载完成后使用FTP软件上传到 /usr/local/mysql 下,这边的mysql是我自己建的,使用mkdir语句,我这边使用的是SecureFXPortable这个软件,打开是这样子:
3、进入到/usr/local/mysql下,解压刚刚上传的压缩包
cd /usr/local/mysql
tar -xvf MySQL-5.6.41-1.el7.x86_64.rpm-bundle.tar
4、安装mysql
yum install MySQL-server-5.6.41-1.el7.x86_64.rpm
此时会报错
这是因为CentOs7默认安装了mariadb,会和MySQL冲突。此时只需要将mariadb卸载即可
//查询安装的mariadb服务
rpm -qa | grep mariadb
#强制卸载
rpm -e --nodeps mariadb-libs-5.5.65-1.el7.x86_64
此时重新安装MySQL即可
安装的时候会告诉你一个随机密码
查看这个随机密码
安装MySQL-client-5.6.41-1.el7.x86_64.rpm
yum install MySQL-client-5.6.41-1.el7.x86_64.rpm
此时已经安装好mysql,查看下mysql服务启动状态
service mysql status
启动MySQL
service mysql start
测试下登录mysql
使用随机密码登录进来,此时改下登录密码
set password=password('123456');//此处的123456是我设置的密码,具体的按你们具体的来
5、将mysql设置为开机自启动
chkconfig --add mysql
chkconfig mysql on
chkconfig
6、此时就可以在windows连接数据库了,这边我使用的是navicat
此时报了一个错误,还需要打开远程连接的权限和在防火墙打开3306端口
7、解决6的问题。
第一步:设置远程访问
grant all privileges on *.* to 'root'@'%'identified by 'root'; (grant :赋予,privileges :权限 规则,*.*代表所有库.所有 表,第一个root代表数据库连接用户名,第二个root代表密码)
第二步:打开防火墙3306端口
查看防火墙状态: firewall-cmd --state (running 为开启)
如果没有开启则开启防火墙:systemctl start firewalld
添加端口:firewall-cmd --zone=public --add-port=3306/tcp --permanent(这边如果直接复制的话,可能会误报一个没有那个文件或目录的错误,我也不知道错在哪里,解决方案就是手输)
重新载入:firewall-cmd --reload
查看所有端口:firewall-cmd --list-ports
此时就可以用本地的navicat进行连接了!
三、安装redis
1、安装gcc依赖
yum install -y gcc
2、下载并解压安装包
cd /usr/local/
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar -zxvf redis-5.0.3.tar.gz
3、切换到redis解压目录下,执行编译
cd redis-5.0.3
make
4、安装并指定安装目录
make install PREFIX=/usr/local/redis
5、复制一份/usr/local/redis-5.0.3/redis.conf到/usr/local/redis/bin/目录下
cp /usr/local/redis-5.0.3/redis.conf /usr/local/redis/bin/
6、进到redis.conf里面修改相关配置
将daemonize no改为daemonize yes //配置redis守护进程,后台运行。
将protected-mode yes改为no //外部网络才可访问
将bind 127.0.0.1这一行注释掉 //这一行其实是配合protected-mode使用的,只有为yes的时候,会限制127.0.0.1访问,也就是本机才能访问,如果将protected-mode 改为no,即外网也可以访问。
7、防火墙打开6379端口,参照mysql 3306端口打开方式
四、安装tomcat
tomcat我这里使用的是8.5版本的,因为windows用的tomcat和linux是一样的,我这边直接将我本地的tomcat上传上去,百度上面也有安装tomcat的相关教程。
五、项目打包部署
1、打开本地的IDE,我这边以Idea演示war方式打包,右上角Maven,找到需要打包的模块,install。然后等待。
大概1分钟后
往上拉可以看到打包结果的地址。
2、将war包上传到tomcat的webapps里面
3、切换到tomcat/bin/目录下,运行tomcat,命令为./startup.sh
看到这个证明tomcat启动成功了
4、可以去tomcat/logs/ 下查看日志
可以看到我这边项目是没有报错的,如果有相关的启动报错信息可以在这边查看
5、我这边启动项目是使用8080端口,同样需要在防火墙那里配置开放端口才能被外网访问。
6、外网访问成功了。
这是我第一次用虚拟机上面部署项目,中间也遇到版本兼容、各种报错的问题。这个流程肯定还有遗漏或者可以优化的地方,希望大家可以在评论区批评指正~