# cloud-computing-finalproject

云计算期末作业
======
一、从镜像创建云主机（镜像名：云计算期末）
------
tips1：镜像中的云主机root目录下包含的music-server、music-client、music-manage文件夹与码园中内容相同，其中music-server文件夹内容是该项目的后端代码，music-client、music-manage文件夹内容是该项目的前端代码，分别是用户页面和管理员页面

tips2：镜像中的云主机已安装需要用到的环境，并已将数据表导入数据库

tips3：我常用的用户名是root，密码是a1b2c3d4

1.更改防火墙设置：开放所有端口(比较简单粗暴)

2.在xshell中登录云主机，启动nginx服务
```
 /usr/local/nginx/sbin/nginx
```

二、在本地打开music-client文件夹
------
tips1：这一步的最终目的是把前端music-client打包成dist文件夹上传到云主机中

tips2：按理说也可以在云主机中进行打包，但我尝试了很多方法，云主机中打包总会error，所以先在本地打包，再上传到云主机

tips3：我本地的node版本为12.18.3，npm版本为6.14.11

1.修改`config/index.js`内容

(1)修改下图中画出的三处，即将两个'/'改为'./'，将'localhost'改为云主机ip

![Image text](http://gitea.shuishan.net.cn/10181900245/cloud-computing-finalproject/raw/branch/master/img-folder/%e5%b1%8f%e5%b9%95%e6%88%aa%e5%9b%be%202021-01-17%20111737.png)

![Image text](http://gitea.shuishan.net.cn/10181900245/cloud-computing-finalproject/raw/branch/master/img-folder/2.png)

2.修改`build/utils.js`内容

(1)修改下图中画出的一处，即添加一行：`publicPath:'../../',`

![Image text](http://gitea.shuishan.net.cn/10181900245/cloud-computing-finalproject/raw/branch/master/img-folder/3.png)

3.修改`src/api/http.js`内容

(1)修改下图中画出的一处，即将'localhost'改为云主机ip

![Image text](http://gitea.shuishan.net.cn/10181900245/cloud-computing-finalproject/raw/branch/master/img-folder/4.png)

4.修改`src/store/configure.js`内容

(1)修改下图中画出的一处，即将'127.0.0.1'改为云主机ip

![Image text](http://gitea.shuishan.net.cn/10181900245/cloud-computing-finalproject/raw/branch/master/img-folder/5.png)

5.在music-client文件夹下执行如下命令

(1)安装依赖
```
npm install --unsafe-perm --registry=https://registry.npm.taobao.org
```
(2)打包
```
npm run build
```
6.将生成的dist文件夹传到云主机的`/root/music`目录下(使用xftp工具)

此时浏览器访问云主机ip应该可以看到用户页面，但没有图片、音乐等数据

三、在本地打开music-server文件夹
------
tips1：这一步的最终目的是把后端music-server打包成jar包上传到云主机中

tips2：我本地的mvn版本是3.6.1

1.修改`src/main/resources/application.properties`内容

(1)修改下图中画出的一处，即将'localhost'改为云主机ip

![Image text](http://gitea.shuishan.net.cn/10181900245/cloud-computing-finalproject/raw/branch/master/img-folder/6.png)

2.修改`target/classes/application.properties`内容

(1)与上一处改动一样，即将'localhost'改为云主机ip

3.在music-server文件夹下执行如下命令

(1)打包
```
mvn package
```
4.将`music-server/target`目录下生成的jar包(music-0.0.1-SNAPSHOT.jar)上传到云主机的`/root/music`(使用xftp工具)

5.在云主机jar包所在目录下执行如下命令启动后端
```
nohup java -jar music-0.0.1-SNAPSHOT.jar &
```
6.将码园中的资源文件(三个文件夹song、img、avatorImages)上传到云主机中jar包相同目录下

此时浏览器访问云主机ip就可以看到正常的用户页面

四、在本地打开music-manage文件夹
======
tips1：这一步的最终目的是把前端music-manage打包成dist文件夹上传到云主机中

tips2：云主机中nginx的配置文件已经修改好，用户页面对应的端口是80，管理员页面对应的端口是90

1.2.3.与第二步中1.2.3.一致

4.修改`src/store/index.js`内容

(1)将'127.0.0.1'改为云主机ip

5.在music-manage文件夹下执行如下命令

(1)安装依赖
```
npm install --unsafe-perm --registry=https://registry.npm.taobao.org
```
(2)打包
```
npm run build
```
6.将生成的dist文件夹传到云主机的`/root`目录下(使用xftp工具)

此时浏览器访问云主机ip应该可以看到管理员页面，登录用户名admin，密码1