SpringBoot+Vue+阿里云部署网页

328 阅读3分钟

云主机ECS环境

一、购买阿里云服务器

  • 和数码产品相同,选配置,接入网络。
  • 进入阿里云官网,选择云服务器ECS
  • 选择不同配置的服务器
  1. 选择包年或者按流量付费
  2. 针对服务对象选择服务器地址
  3. 选择CPU和内存,一般练习用选入门
  4. 选择操作系统,首选Ubuntu,除非是部署.Net网站
  • 选配网络
  1. 练习用选入门的网络带宽,固定带宽1MB
  2. 然后选择安全策略,开通不同的端口供外部访问
  • 购买完成后就可以开机使用
  1. 从阿里云官方的控制台远程访问
  2. 从第三方如:行云管家,优点是可以管理多个平台的云主机,还可以直接上传下载资源
  3. 用windows,mac或者linux自带的终端,通过ssh访问
    • mac终端访问:ssh root@IP地址

二、开发3306、8080、8070等端口

  • 开机以后没有网站,访问无响应,首先开通对外的服务端口,再部署网站
  • 进入阿里云控制台进行安全策略配置
  1. 安全配置入口
  2. 进入安全组列表
  3. 列表详情
  4. 克隆新建策略

三、Nginx安装配置

  • nginx反向代理,把外部的访问请求根据配置,映射给相应的服务地址和端口
  • 终端命令安装装
sudo apt-get install nginx
  • nginx几个重要的目录
/usr/sbin/nginx:主程序

/etc/nginx:存放配置文件

/usr/share/nginx:存放静态文件

/var/log/nginx:存放日志
  • nginx命令
    • 启动nginx:
    nginx // 直接在终端输入nginx启动
    
    • 不停机重载配置文件重启(用到最多的命令)
    nginx -s reload
    
    • 快速停止nginx
    nginx -s stop //快速停止nginx
    
  • 默认启动后,访问ip+80端口测试,nginx默认主页
  • 前端静态页面映射
#前端映射
	server {
        listen       8070;#默认端口是80,如果端口没被占用可以不用修改
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {		    
            root   /usr/web_projects/dist;#vue项目的打包后的dist			
			try_files $uri $uri/ @router;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404
			index  index.html index.htm;
        }
        #对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件
        #因此需要rewrite到index.html中,然后交给路由在处理请求资源
        location @router {
            rewrite ^.*$ /index.html last;
        }        
	}
  • 后端映射
#后端映射
#http形式域名:
server {
    listen 8080; #监听8080端口
    index index.html;
  	location / {
  	    proxy_pass http://localhost:8081; #本地开启服务ip地址端口号
  	}
}

四、安装JDK

  1. 安装openjdk
  • 更新软件包列表
sudo apt-get update
  • 安装openjdk-8-jdk
sudo apt-get install openjdk-8-jdk
  • 查看是否安装成功,并查看版本
java -version

五、mysql安装与配置

  1. Ubuntu安装Mysql数据库
sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev
// 查看是否安装成功
sudo netstat -tap | grep mysql
  1. 初始化Mysql数据库
  • 配置mysql远程访问权限
修改云服务器中mysql配置文件,设置mysql允许远程访问
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1:

  1. 配置安全组策略,开发3306端口
  2. 授予远程登录权限 通过授权法:grant all privileges on . to root@'%' identified by "root";
//输入密码登录
>mysql -u root -p

// 授予root用户,通过用户名和密码方式在远程pc登录数据库
mysql>grant all privileges  on *.* to root@'%' identified by "root";
Query OK, 0 rows affected (0.00 sec)

// 刷新刚才的改变
mysql>FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

// 退出
mysql>exit;
  1. 在自己电脑上面通过第三方数据库管理软件访问云主机数据库
  • Windows推荐navicat, Mac推荐Selquel pro
  • 以Windows为例,使用navicat输入云主机ip地址、端口、登录名和密码
  • 输入完成后点击测试,校验信息是否正确
  1. 登录成功后新建库
  • 选中数据库,右键新建数据库
  • 数据库名随便起,字符集一般选utf8,相应的选完字符集以后排序集选utf8相关的,选utf8_general_ci
  1. 新建表
  • 在上步新建的库中新建用到的表
  • 选中数据库login,右键打开
  • 展开表,查看已有的数据表
  • 选中表右键新建表
  • 根据业务需求设计字段名和字段类型,然后保存提交
  • 数据库新建完成

六、SSH远程登录操作云主机

  1. ssh远程登录,可以在不登录阿里云控制台页面情况下访问主机
  2. Windows打开命令行,Mac或Ubuntu打开终端,输入以下命令和登录密码
ssh root@39.108.94.246 // 如果ip正确,会提示输入密码

root@39.108.94.246's password: // 输入登录密码

本机开发环境

一、nodejs安装

  • windows官网下载
https://nodejs.org/en/

二、vue-cli初始化项目

1. 新建项目文件夹
2. 在文件夹下初始化执行
vue init webpack demo

三、mvn配置

编辑环境变量
vim .bash_profile
添加:
export M2_HOME=/usr/local/apache-maven-3.5.0
export PATH=$PATH:M2_HOME/bin

四、springboot后端

  1. 单元测试junit
  2. Jpa用法
  3. controller+service+dao
  4. 跨域问题CORS
  5. yml配置
  6. jdbc驱动问题
  7. dev和release分别配置
  8. mvn 打包: 1)插件安装,2)mvn clean package

五、vue前端

  1. vue-router
  2. axios

开发完部署

一、部署后端jar包

  • 制作脚本
1) 使用springboot开发的项目,build生成的jar包集成了tomcat服务器,所以不需要将jar包放入tomcat中访问。
2) 启动jar包的命名是:
java -jar demo.jar
因为在命令行中启动的,关闭命令行后会终止jar程序运行,远程连接云主机断开连接以后jar就停止,无法一直运行。所以制作start和stop运行脚本。

3) start启动sh脚本命令
#!/bin/sh
java -jar demo-0.0.1-SNAPSHOT.jar &       #注意:必须有&让其后台执行,否则没有pid生成  
echo $! > java.pid   # 将jar包启动对应的pid写入文件中,为停止时提供pid

4) stop停止命名
#!/bin/sh  
PID=$(cat java.pid ) #获取到同级文件java.pid中进程id
kill -9 $PID # 杀掉进程
  • 上传jar包
  • 启动

二、部署前端dist

  • 配置地址映射

测试访问

一、访问前端页面

二、访问后端接口