秒杀项目系列之一: 阿里云ECS服务器的搭建和项目部署
作者:互联网
-
阿里云ECS服务器购买
普通用户购买链接
学生用户购买链接,9.9/月,毕业前可续 -
配置实例密码(环境为centos8.0)
-
使用终端远程登陆
sudo ssh root@服务器共有ip地址 yes 输入实例密码便可进入远程控制终端
-
在服务器上安装jdk
# 下载jdk压缩包 wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz" # 解压 tar zxvf jdk-8u141-linux-x64.tar.gz # 将jdk数据拷贝到java目录下 cd /usr/local mkdir java mv /tmp/jdk1.8.0_141/ ./java # 修改环境变量 vim /etc/profile # 在文件末尾添加下面内容 export JAVA_HOME=/usr/local/java/jdk1.8.0_141 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin export PATH=$PATH:${JAVA_PATH} # 保存退出 :wq # source命令使/etc/profile文件立即生效 source /etc/profile # 通过查看安装java版本看看jdk是否安装成功 java -version
-
服务器上安装mysql数据库环境
# --skip-broken为跳过无法安装的软件包,使用yum install mysql*会报一些与mysql-mmm...软件有关的错误,但是没什么用 yum install mysql* --skip-broken # 查看mysql是否安装成功 mysql --version 或 mysql -V # 启动mysql systemctl start mysqld # 查看mysql是否启动成功(3306为mysql默认端口) ps -ef|grep mysql 或 netstat -anp|grep 3306 # 设置mysql密码 mysqladmin -u root password 123456 # 登陆mysql(-u后面为用户名,-p后面为密码) mysql -uroot -p123456 # 登陆后便可执行数据库相关操作,比如查看所有数据库 show databases;
-
数据库备份及导入到阿里云服务器的mysql中
# 本机命令,将miaosha数据库备份 /usr/local/mysql/bin/mysqldump -uroot -p123456 miaosha > /Users/zhaolijian/Downloads/miaosha.sql # 将数据库备份文件上传到阿里云服务器 scp miaosha.sql root@101.37.171.33:/tmp/ # 将数据库备份文件miaosha.sql导入到服务器mysql mysql -uroot -p123456 # 进入mysql create database miaosha; # 创建miaosha数据库 quit # 退出数据库 mysql -u root -p miaosha < /tmp/miaosha.sql # 将备份文件miaosha.sql中的数据导入到miaosha数据库中(执行完该命令后会输入root用户对应的密码) mysql -uroot -p123456 # 进入mysql show databases; # 查看数据库,可看到miaosha数据库 use miaosha # 进入miaosha数据库中 show tables; # 查看miaosha数据库中的表
-
云端部署+打包上传+启动jar包提供服务
-
在springboot项目中添加如下依赖
<!-- 作用: Spring Boot应用打包为可执行的jar或war文件,然后以通常的方式运行Spring Boot应用。--> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>2.3.4.RELEASE</version> </plugin> </plugins> </build>
-
查看是否安装了maven,若没有安装maven,见链接
-
打包项目
# 首先进入项目根目录,然后执行如下命令 mvn clean package # 通过下面指令可运行jar包项目 java -jar miaosha-1.0-SNAPSHOT.jar
-
将jar包上传到阿里云服务器
sudo scp miaosha-1.0-SNAPSHOT.jar root@101.37.171.33:/tmp/ # 将该jar包拷贝到/var/www/miaosha目录下,并重命名为miaosha.jar cd /var mkdir www cd www mkdir miaosha cd miaosha mv /tmp/miaosha-1.0-SNAPSHOT.jar ./miaosha.jar # 修改miaosha.jar权限 chmod -R 777 miaosha.jar # 服务端启动 java -jar miaosha.jar
-
开放阿里云服务器的端口,否则无法提供服务(在阿里云控制台/安全组/右侧配置规则)
注: 该处设置为全部打开 -
修改前端ajax请求的url地址为阿里云服务器ip(前后端分离),并测试是否能够提供服务
- 外挂配置文件
-
上面部署项目中存在的问题
所有的配置,比如服务端口、数据库访问路径、驱动、用户名、密码等都是已经配置好的,有时需要修改,如果重新在配置文件中修改、打包、部署到服务器会很麻烦. -
解决办法
在服务器上新建一个外挂配置文件,在运行jar包的时候使用新的配置文件中的内容替代jar包中的配置(如果修改了端口,那么前端url端口也需要修改)vim application.yml # application.yml文件内容 server: port: 8090 spring: datasource: name: miaosha # 使用localhost和127.0.0.1可以访问数据库,但是使用ip地址不行,还没有解决,暂时使用127.0.0.1 / localhost url: jdbc:mysql://127.0.0.1:3306/miaosha?characterEncoding=utf8&useSSL=false username: root password: 123456 type: com.alibaba.druid.pool.DruidDataSource driver-class-name: com.mysql.jdbc.Driver # 运行jar包 java -jar miaosha.jar --spring.config.addition-location=/var/www/miaosha/application.yml
-
deploy.sh脚本文件(启动应用程序的console页面退出,应用程序也不会退出)
# deploy.sh脚本文件内容 nohup java -Xms400m -Xms400m -XX:NewSize=200m -XX:MaxNewSize=200m -jar miaosha.jar --spring.config.addition-location=/var/www/miaosha/application.yml # 赋予deploy.sh脚本权限 chmod 777 deploy.sh # 执行脚本(&表示在后台运行) ./deploy.sh &
执行脚本后的界面如下(应用程序后台运行,不影响用户执行其他操作,日志信息输出到nohup.out文件中):
标签:java,项目,数据库,jar,miaosha,ECS,mysql,服务器 来源: https://blog.csdn.net/qq_26496077/article/details/112648572