阿里云部署JeecgBoot
首先贴出官网教程:http://jeecg-boot.mydoc.io/?t=345682
自己在部署的时候遇到了各种各样的问题,其实一步一步的按照官网给出的步骤来是没问题的,有个别采坑的地方在此记录一下。
部署采用jar的方式部署,我不喜欢用war,主要是不会,哈哈哈。
首先部署的时候得保证阿里云安装了nginx、redis、mysql5.7、java。
nginx、redis、mysql5.7在之前的博客上有写怎样安装,在这里就不在累述了,但是提醒各位一句,安装这些软件的时候最好使用docker的方式安装,以防止安装失败污染环境。
在这里说一下怎样安装java,安装java的版本至少是8,JDK1.8的java,说的不专业,但是你理解什么意思就可以。
首先执行下面这段命令:奥,对了,我的阿里云是centos7的。
wget http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz?AuthParam=1531155951_4e06a4d17c6c1dbfb8440352e19dd2ae
然后在执行这一段:
yum -y install java-1.8.0-openjdk
最后就安装成功了,输入下面的命令查看java版本
java -version
阿里云的环境搭建好了,现在就需要把程序打包了,在打包之前嘞,有些参数修改一下,和官网文档差不多。
先说后台
- 首先调成生产环境
- 生产环境的数据库连接、redis都用127.0.0.1就行
- 密码啥的都设置一下,别没改,数据库的密码最好不要是默认的,或者是123456,root之类的,太简单了,免得被黑。
- 那几个文件路径最好在阿里云上创建一下,免得存东西的时候报错
- 我把后台的端口改成8089了,默认是8080
- MySQL必须5.7以上,不然 jeecgboot 提供的数据库文件导入会失败!
目前 jeecg-boot-module-system 作为启动和打包项目。
打包的过程看下面这张图吧,按步骤来就行,一定要先安装一下他爹!!!
四步走下来,然后就打包完了,应该不会出错。
打包完成之后你就会看到目录下面多了个target文件夹,文件夹下我们需要的是圈起来的这个jar包。记住,下次再打包的时候先clean一下,就是把上一次的清一下。我是这么理解的,我是小白,说错了大神勿骂
然后这个jar直接拖到阿里云上去找个地方放着就行了。
jar方式运行它
nohup java -jar jeecg-boot-module-system-2.1.3.jar &
看一下运行的内容就用下面这句话
tail -f nohup.out
好了,后台应该没问题了。
查看java进程
sudo ps -aux|grep java
杀死进程
kill 进程号
然后是vue前端。
前端build之前改几个地址,修改后台接口服务地址 public/index.html
window._CONFIG['domianURL'] = 'http://阿里云ip:8080/jeecg-boot';
修改 vue.config 文件:
'/jeecg-boot': {
target: 'http://阿里云ip:8089', //请求本地 需要jeecg-boot后台项目
ws: false,
changeOrigin: true
},
就先改这两个地方吧。
开始打包吧。
点他!
打包完就会出这个文件夹
里面的东西统统放进阿里云,放到nginx配置的根目录里,因为他有index.html,就是为了访问阿里云外网IP的时候可以找到他。
配置一下nginx
vim /usr/local/nginx/conf/nginx.conf
把下面这两段加进去
location ^~ /jeecg-boot{
proxy_pass http://127.0.0.1:8089/jeecg-boot/;
proxy_set_header Host 127.0.0.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
root /home/wjw/www/dist;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
修改完之后冲加载一下
/usr/local/nginx/sbin/nginx -s reload
就是这个样子,然后你的页面应该起来了,访问阿里云ip应该可以访问到,如果访问不到,把阿里云的对外端口也就是安全组那个东西开一下。