云主机ECS环境
一、购买阿里云服务器
- 和数码产品相同,选配置,接入网络。
- 进入阿里云官网,选择云服务器ECS
- 选择不同配置的服务器
- 选择包年或者按流量付费
- 针对服务对象选择服务器地址
- 选择CPU和内存,一般练习用选入门
- 选择操作系统,首选Ubuntu,除非是部署.Net网站
- 选配网络
- 练习用选入门的网络带宽,固定带宽1MB
- 然后选择安全策略,开通不同的端口供外部访问
- 购买完成后就可以开机使用
- 从阿里云官方的控制台远程访问
- 从第三方如:行云管家,优点是可以管理多个平台的云主机,还可以直接上传下载资源
- 用windows,mac或者linux自带的终端,通过ssh访问
- mac终端访问:ssh root@IP地址
二、开发3306、8080、8070等端口
- 开机以后没有网站,访问无响应,首先开通对外的服务端口,再部署网站
- 进入阿里云控制台进行安全策略配置
- 安全配置入口
- 进入安全组列表
- 列表详情
- 克隆新建策略
三、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
- 安装openjdk
- 更新软件包列表
sudo apt-get update
- 安装openjdk-8-jdk
sudo apt-get install openjdk-8-jdk
- 查看是否安装成功,并查看版本
java -version
五、mysql安装与配置
- Ubuntu安装Mysql数据库
sudo apt-get install mysql-server
sudo apt install mysql-client
sudo apt install libmysqlclient-dev
// 查看是否安装成功
sudo netstat -tap | grep mysql
- 初始化Mysql数据库
- 配置mysql远程访问权限
修改云服务器中mysql配置文件,设置mysql允许远程访问
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
注释掉bind-address = 127.0.0.1:
- 配置安全组策略,开发3306端口
- 授予远程登录权限 通过授权法: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;
- 在自己电脑上面通过第三方数据库管理软件访问云主机数据库
- Windows推荐navicat, Mac推荐Selquel pro
- 以Windows为例,使用navicat输入云主机ip地址、端口、登录名和密码
- 输入完成后点击测试,校验信息是否正确
- 登录成功后新建库
- 选中数据库,右键新建数据库
- 数据库名随便起,字符集一般选utf8,相应的选完字符集以后排序集选utf8相关的,选utf8_general_ci
- 新建表
- 在上步新建的库中新建用到的表
- 选中数据库login,右键打开
- 展开表,查看已有的数据表
- 选中表右键新建表
- 根据业务需求设计字段名和字段类型,然后保存提交
- 数据库新建完成
六、SSH远程登录操作云主机
- ssh远程登录,可以在不登录阿里云控制台页面情况下访问主机
- 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后端
- 单元测试junit
- Jpa用法
- controller+service+dao
- 跨域问题CORS
- yml配置
- jdbc驱动问题
- dev和release分别配置
- mvn 打包: 1)插件安装,2)mvn clean package
五、vue前端
- vue-router
- 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
- 配置地址映射