分布式文件上传服务器
原博客链接:http://www.bestwyy.xyz/fuwuqi/bushu.html
从购买服务器到项目部署全流程
注:此篇大致摘自上上级学长levi
经历相似并防止自身之后遗忘,写下此篇。
前期准备
- 💰 当然是用来买服务器啊
- Termius ✅ 「MacOS软件-用于连接到服务器」/目前在用bitvise
- Navicat Premium ✅ 「全平台软件-用于连接数据库」
- Visual Studio Code ✅ 「全平台软件-yyds」
- 完成的前端项目「vue」
- 完成的后端项目「JFinal」
购买服务器
配置服务器
服务器整到手后先配置远程连接的密码,然后用「Termius」连上服务器,开始进行配置 安装nginx反代工具
1 | sudo apt-get install nginx # 安装nginx |
nginx的基本操作
1 | /etc/init.d/nginx start #启动 |
由于这次配置的是基于vue的单页面应用,所以要对nginx进行配置修改
在本地新建一个 eta_vue.conf 文件,写入以下内容
1 | server { |
通过「Termius」的SFTP将上面的文件放入服务器的 /etc/nginx/conf.d
路径下
并将 /etc/nginx
下的 nginx.conf 文件中最后一行的默认配置注释掉(如下图)
修改完成后重启一次nginx
将打包好的前端项目放入 /var/www/html/eta_vue
文件夹下
进入浏览器,地址栏输入服务器ip,能看到前端页面就算配置好了
安装数据库
数据库安装很方便只,需要以下几条命令
1 | sudo apt-get install mysql-server |
安装好后用下面的命令来初始化安全设置
1 | mysql_secure_installation |
会询问是否执行以下几步操作,为了方便之后数据库管理,先选择开放远程登陆许可
为root用户设置密码
删除匿名账号「是」
取消root用户远程登录 「否」
删除test库和对test库的访问权限 「是」
刷新授权表使修改生效 「是」
连接数据库
连接数据库前要先检查下3306端口是否可用 附上教程(opens new window)
教程中一些关于「vim」的操作可用参考我的另一篇指南 Vim 基础
端口开启后千万要记得去控制台开启3306端口!!
远程mysql出现10061_MySQL远程连接时出现10061错误时的解决方法
需要修改MySQL的某个配置文件的配置代码,即my.ini文件中的“bind-address = . . . .”,将“. . . .”修改为“0.0.0.0”,于是乎,操作之。利用“locate”命令,并没有发现my.ini文件,继续了解,此属性配置在一个名为“my.cnf”的文件中。
(现在阿里云和腾讯云都存在conf.d和mysql.conf.d中的四个文件里,我在mysql.conf.d中的mysqld.conf里)
修改后保存,然后执行重启命令:
1 | service mysql restart |
但报错代码为1698,大部分1000+报错都可以用新建用户解决:
1 | #创建用户 |
注意:MySQL8.0以上密码策略限制必须要大小写加数字特殊符号!
执行上述命令后,再次进行远程连接,便连接成功。
记得用户名密码用新建的。
后记,用新用户连接是匹夫行为,还得改root。
1、登录Mysql
1 | sudo mysql -u root -p |
2、查看user表(错误发生的原因就是root的plugin设置错误)
1 | select user, plugin from mysql.user; |
3、修改root的plugin为自己的密码
1 | update mysql.user set authentication_string=PASSWORD('your passwd'), plugin='mysql_native_password' where user='root'; |
4、刷新
1 | flush privileges; |
5、把后端resource中config.properties下的连接数据库密码也修改为步骤3的密码(如果一致请忽略)
部署后端
首先利用 apt-get
指令快速安装好 jdk1.8
1 | apt-cache search java8 |
结果中列出了安装包库中存在的包,选一个你想安装的版本。
我们这里选的是第一个:openjdk-8-jdk
安装命令:
1 | sudo apt-get install openjdk-8-jdk |
然后把打包好的后端项目(maven直接package就行)上传至服务器的任意目录下(理论上)
解压文件
1 | cd /home/cxxy/(你的目录) |
修改解压出来的文件里的数据库配置、undertow端口号
启动项目
1 | cd /home/cxxy/ETA6(解压后的目录) |
关闭项目「重新部署前建议先关闭」
1 | cd /home/cxxy/ETA6 |
解决跨域
作为前后端分离项目,跨域问题必须克服
首先修改后端项目运行的端口「默认的80端已经被nginx占用了」
服务器 /home/cxxy/ETA6
目录下,修改 undertow.txt