在阿里云服务器上部署Spring Boot + Vue项目

一、安装mysql1.1 安装1.1.1 下载并安装mysql的YUM源 (1)下载mysql的YUM源wget -P /home/lisonglin http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 安装mysql的YUM源rpm -ivh mys...

 

一、安装mysql

1.1 安装

1.1.1 下载并安装mysql的YUM源

 

(1)下载mysql的YUM源

wget -P /home/lisonglin http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

 

  1. 安装mysql的YUM源

rpm -ivh mysql57-community-release-el7-11.noarch.rpm

 

  1. 检查mysql的YUM源是否安装成功

yum repolist enabled | grep "mysql.-community."

 

  1. 查看当前启用的 mysql版本

yum repolist enabled | grep mysql

 

1.1.2 安装MySQL

 

yum install mysql-community-server

 

安装过程中一直输入"y"就可以了

 

1.1.3 测试

(1)启动mysql服务

systemctl start mysqld

 

(2)登录mysql

mysql -uroot

 

如果出现错误:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

则说明mysql安装完后给root用户生成了一个默认密码,所以你需要使用密码登录。

 

(3)查看mysql生成的默认密码并登录

 

为了加强安全性,MySQL5.7为root用户随机生成了一个密码,如果安装的是RPM包,则默认是在/var/log/mysqld.log中。

 

查看默认密码

grep 'temporary password' /var/log/mysqld.log

 

mysql -uroot -p 回车 然后输入默认密码即可登录myql

 

1.1.4 mysql服务用到的命令

 

systemctl start mysqld #启动mysqld

 

systemctl stop mysqld #停止mysqld

 

systemctl restart mysqld #重启mysqld

 

systemctl enable mysqld #设置开机启动

 

systemctl status mysqld #查看 MySQL Server 状态

 

1.1.5 设置密码

 

mysqladmin -u root password 'new-password'

 

或set password for 'root'@'localhost' = password('123456');

 

设置完密码之后就可以使用mysql -u root -p 命令来登录mysql数据库了

 

1.1.6防火墙设置

 

远程访问 MySQL, 需开放默认端口号 3306.

 

firewall-cmd --permanent --zone=public --add-port=3306/tcp

firewall-cmd --permanent --zone=public --add-port=3306/udp

 

执行firewall-cmd --reload使最新的防火墙设置规则生效

 

1.1.7远程访问设置

(1)创建一个普通用户 xx ,密码是xxx

CREATE USER 'xx'@'%' IDENTIFIED BY 'xxx';

 

(2)给这个用户授予 SELECT,INSERT,UPDATE,DELETE 的远程访问的权限,这个账号一般用于提供给实施的系统访问

GRANT SELECT,INSERT,UPDATE,DELETE ON . TO 'xx'@'%';

 

(3)创建一个管理员用户 admin 账号 ,密码是 123456

CREATE USER 'admin'@'%' IDENTIFIED BY '123456';

 

(4)给这个用户授予所有的远程访问的权限。这个用户主要用于管理整个数据库、备份、还原等操作。

GRANT ALL PRIVILEGES ON . TO 'admin'@'%';

 

(5)设置用户 root 可以在任意 IP 下被访问:

grant all privileges on . to root@"%" identified by "新密码";

 

(6)设置用户 root 可以在本地被访问:

grant all privileges on . to root@"localhost" identified by "新密码";

 

(7)使授权立刻生效

flush privileges;

 

1.1.8设置字符集

 

一般的,为了支持中文,我们应该将字符集设为 UTF-8, 执行SHOW VARIABLES LIKE 'character%';

 

查看当前 MySQL 字符集,默认服务器的字符器是 latin1 ,对中文不友好。修改 /etc/my.cnf 文件,添加字符集的设置

 

[mysql]

 

default-character-set = utf8

 

[mysqld]

 

character_set_server = utf8

 

重启 MySQL ,可以看到字符集已经修改了

 

1.1.9 默认配置文件路径:

配置文件:/etc/my.cnf

日志文件:/var/log//var/log/mysqld.log

服务启动脚本:/usr/lib/systemd/system/mysqld.service

socket文件:/var/run/mysqld/mysqld.pid

 

1.1.10 查看mysql默认读取的my.cnf

mysql  --help | grep  'my.cnf'

mysql --help|grep 'my.cn

命令mysql --help|grep 'my.cnf' 查看mysql默认读取的my.cnf,按照从前到后的优先级排序,前面的不存在,则读取后面的。通常配置在/etc/my.cnf。

 

1.2 问题

1.2.1 centos8.2安装mysql时报错Error:Unable to find a match: mysql-community-server

 

 命令:

yum install -y mysql-community-server

 报错:

Error:Unable to find a match: mysql-community-server

 

解决:

先禁用本地的 MySQL 模块再安装即可

 

yum module disable mysql

yum -y install mysql-community-server

 

1.2.2 本地电脑连接不到阿里云服务器数据库

设置允许某数据库账号从某ip(或全部ip)连接mysql服务器

 

(1)允许test用户使用密码Aa@123456从任何主机连接到mysql服务器

GRANT ALL PRIVILEGES ON *.* TO 'test'@'%' IDENTIFIED BY 'Aa@123456' WITH GRANT OPTION;

 

FLUSH   PRIVILEGES;

 

(2)允许test用户使用密码Aa@123456从192.168.1.2主机连接到mysql服务器

GRANT ALL PRIVILEGES ON *.* TO 'test'@'192.168.1.2' IDENTIFIED BY 'Aa@123456' WITH GRANT OPTION;

 

FLUSH   PRIVILEGES;

 

(3)允许test用户使用密码Aa@123456从192.168.1.2主机连接到mysql服务器的health库

GRANT ALL PRIVILEGES ON health.* TO 'test'@'192.168.1.2' IDENTIFIED BY 'Aa@123456' WITH GRANT OPTION;

 

FLUSH   PRIVILEGES;

 

 

1.3 参考文献

(1)wget命令:http://man.linuxde.net/wget

(2) centos8.2安装mysql时报错:https://www.cnblogs.com/heyongboke/p/14034688.html

 

  • 二、安装jdk

 

2.1 yum安装jdk

  1. 执行命令查看可安装Java版本

yum -y list java*

 

 (2)选择一个Java版本进行安装,这里我们希望安装Java1.8,因为我们的机器是64位的,所以选择安装java-1.8.0-openjdk-devel.x86_64。

注意:这里有个地方要注意,要选择-devel的安装,因为这个安装的是jdk,而那个不带-devel的安装完了其实是jre。执行命令安装jdk。

yum install -y java-1.8.0-openjdk-devel.x86_64

 

执行完后会看见控制台刷出很多输出。耐心等待至自动安装完成。

 

  1. 输入命令查看已安装的jdk版本

java -version

 

  1. jdk安装地址。你可以在/usr/lib/jvm目录下找到。

 

2.2 设置jdk环境变量

linux系统中的设置方法为:找到文件 /etc/profile ,向其中添加如下代码:

 

export JAVA_HOME=/usr/lib/jvm/java-1.8.0

export CLASSPATH=$JAVA_HOME/lib/

export PATH=$PATH:$JAVA_HOME/bin

export PATH JAVA_HOME CLASSPATH

 

2.3 参考文献

(1)安装jdk

 https://blog.csdn.net/m0_37828989/article/details/107177145

(2)设置jdk环境变量

https://blog.csdn.net/Mou_Yang/article/details/102137861

 

  • 三、部署SpringBoot项目

3.1 上传安装包

使用sftp功能上传文件(mac)。命令:

put 本地文件路径 远程路径

 

3.2 后台运行安装包

 nohup java  -jar xxx.jar &

 

其他命令:

  1. 查看java进程

  ps -ef | grep java

  1. 杀死进程

 kill -9   java进程号

 

3.3 参考文献

(1)上传安装包

https://jingyan.baidu.com/article/ae97a64672d076fbfc461d29.html

(2)安装

https://blog.csdn.net/Mou_Yang/article/details/102137861

https://blog.csdn.net/qq_44373419/article/details/107980983

 

  • 四、 部署前端vue项目

4.1 安装环境

4.1.1 安装nodejs命令

cd /usr/src

wget http://nodejs.org/dist/v0.10.18/node-v0.10.18.tar.gz

 

4.1.2 安装nginx

// (1)安装nginx

sudo yum install nginx -y

// (2)启动nginx

nginx

// (3)把nginx配置成全局命令

ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/

// (4)查看nginx配置文件位置

nginx -t

// (5)查看nginx启动状态

ps -ef | grep nginx

// (6)重启nginx

nginx -s reload

 

4.打包、上传和部署项目

4.2.1 使用npm run build进行打包

4.2.2 上传dist安装包

使用sftp功能上传dist文件(先压缩一下)(mac上)

4.2.3 设置nginx参数

vim etc/nginx/nginx.conf

 

配置案例如下:


????server {

        # ip1 和 port1 分别为前端项目端口和所在的阿里云服务器ip
????????listen ??????port1;
????????server_name ?ip1;


????????# Load configuration files for the default server block.
????????include /etc/nginx/default.d/*.conf;


????????location / {

????        # 前端vue项目安装包(dist文件夹)所在的地址,举例如下
????????????root /usr/src/app/dist/;
????????????try_files $uri $uri/ /index.html;
????        index index.html;

????????} ???


         # 设置服务转发地址,其中 /api/ 为前端项目为后端服务配置的统一接口前缀。没有接口前缀        时,此处为 /
        location /api/ {
???        ?# ip2 和 port2 分别为后端项目端口和所在的阿里云服务器ip
????????????proxy_pass http://ip2:port2/;
        }


????????error_page 404 /404.html;
????????????location = /40x.html {
????????}


????????error_page 500 502 503 504 /50x.html;
????????????location = /50x.html {
????????}

????}

 

 

4.2.4 上传新包后,Nginx 重启

nginx  -s  reload

 

4.3 参考文献

(1)https://blog.csdn.net/qq_36538012/article/details/100218214

(2)https://blog.csdn.net/qq_43743661/article/details/110821510

(3)https://blog.csdn.net/wnx_52055/article/details/105302304

(4)https://blog.csdn.net/weixin_43638968/article/details/109636044

 

 

本文标题为:在阿里云服务器上部署Spring Boot + Vue项目

基础教程推荐