SpringBoot的微信后端项目部署

前后端完全分离的项目,后端基于用SpringBoot框架打造,发布到线上流程。

1.确定程序无误后,命令mvn clean package -Dmaven.test.skip=ture打包,命令需要注意的是,如果第一次打包,可以不用clean,其次-Dmaven前面有一根小短横线,注意下。最后就是test.skip跳过测试,true判断为真。

指定jar包名字:
SpringBoot的微信后端项目部署

为了确保发布项目不出问题,通过命令java -jar test.jar(这里假设的打包的名字是test.jar)在本地运行刚才生成的jar包,无误后,就可以发布到线上啦!

2.发布到线上,买服务器,买域名,因为是微信项目,需要微信支付、微信授权等等,所以域名也是必须的,购买域名很简单,就是域名备案稍微麻烦一点。

当服务器和域名都准备好后,需要配置jar包运行的环境jdk和tomcat,jdk和tomcat都不能通过Linux服务器直接下载,因此需要本地下载tomcat和jdk后上传到服务器。

本地下载tomcat和jdk后,上传到服务器,这里有很多方法,比如可以通过git获取ftp上传等。两种方法我都试过,个人觉得还是ftp上传更加方便,git毕竟经过第三方。所以第三步只讲解通过ftp上传。

3.上传tomcat和jdk的压缩包到服务器。这一步坑比较多~~

(1)在本地新建一个文件夹,命名为我的远程服务区。

(2)到官网下载tomcat和jdk并将其移动到远程服务区。

(3)推荐使用客服端FileZilla上传,超级简单!

      a)下载FileZilla客服端

SpringBoot的微信后端项目部署

   b)下载好后点击文件管理新建站点,按照上述图片格式填写,只需注意一点,端口号不要填写。点击连接即可将本地的文件上传到服务器。操作成功后我们进入下一步……

4.在服务器配置jdk和tomcat环境

(1)sudo mkdir /home/config新建一个专门用于配置环境的文件。

(2)tar zxvf + 压缩包名   解压。

(3)mv 解压后包名 /home/config  将解压后的文件移动到配置文件夹。

(4)cd ~ 回到服务器根目录

(5)配置jdk环境

     a)echo 'JAVA_HOME=/home/config/jdk1.8.101'>> ~/ .bashrc  //jdk名有所不同,根据实际情况而定。

     b)echo 'PATH=PATH:$JAVA_HOME/bin'>> ~/. bashrc

     c)source ~/.bashrc  //更新配置信息

(6)配置tomcat

     a)参照配置jdk的方法,将tomcat解压文件移动到配置文件里面。

     b)分别进入tomcat的bin目录下配置startup.sh和shutdown.sh(配置一样)。

     c)在其文章的倒数第二行插入如下配置信息(jkd版本可能会存在差异,请根据实际情况而定):

    JAVA_HOME=/home/ubuntu/jdk1.8.0_161

    JRE_HOME=${JAVA_HOME}/jrePATH=$JAVA_HOME/bin:$PATH

    CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

    TOMCAT_HOME=/home/ubuntu/apache-tomcat-8.5.40

d)配置之后在bin目录下:sudo ./startup.sh启动tomcat服务器,访问服务器域名+8080端口,如果出现tomcat则配置成功。

5.配置微信授权域名

将配置微信域名时的认证文件上传至服务器的tomcat的根目录的ROOT目录下,这个还不能通过域名直接访问到该文件。需要配置nginx转发。

6.配置nginx

参考我的另一篇文章服务器配置nginx

配置好后即可通过访问域名访问到微信授权域名的认证文件。

7.上传jar包到服务器

上传已经打包好的jar包到服务器,通过java -jar  test.jar运行jar包,这里要注意一点就是,jar包运行的端口不能是8080端口,因为tomcat已经占用了该端口。运行后,在本地访问没有问题后,命令nohup java -jar test.jar&nohup常驻,这时候及时关闭xshell也能跑起来啦。

8.补充:安装并配置MySQL

1)sudo apt-get install mysql-server //安装mysql

2)安装成功后,mysql -v  显示版本信息表示安装成功。

3)mysql -u -root -p登录数据库(登录时会提示输入安装时设置的密码)

4)show databases 如果出现数据库也同样映证数据库安装成功。

如果这样的话,还不能进行远程访问的,需要配置让远程主机可以访问服务器数据库,在>mysql下运行命令:GRANT ALL PRIVILEGES ON *.* TO  'name'@'%' IDENTIFIED BY 'password' with GRANT OPTION;

name和password是自己设置的哦!

执行上述命令后,退出数据库。

cd /etc/mysql/mysql.conf   进入mysql.conf目录下

编辑mysql下面的mysql.cnf,找到bind-address=127.0.0.1将其注释。

执行结束后,远程终端连接服务器试试,无误后表示配置成功。

root权限太高,我们不便于直接在root操作,而是通过root账户专门建立一个数据库。操作如下:

a.登录MySQL    mysql -u root -p 

b.添加用户:

(1)允许本地 IP 访问 localhost, 127.0.0.1命令:create user 'demo'@'localhost' identified by '123456'; 

(2)允许ip访问的命令: create user 'demo'@'%' identified by '123456';  

执行完毕后 刷新权限:flush privileges;  虽然我试过这个操作可以不用,但是如果你后面无法联调通的话就最好在这里刷新一下。

c.授权ip访问也有两种方式

ip访问(前提条件是你的主库都能通过远程访问):grant all privileges on `testdb`.* to 'demo'@'%' identified by '123456';  

本地访问:grant all privileges on `testdb`.* to '[email protected]'localhost' identified by '123456';  

d.特别提醒:数据表的名字是引号不一样。

e.root修改子用户密码:ET PASSWORD FOR 'demo'=PASSWORD('[email protected]);

刷新权限并退出即可。

如果更好的办法,或者文章有不妥的地方,欢迎留言指出哦