系统发布包括阿里云服务器的购买和配置到系统的最后发布全流程

199 阅读6分钟

此前一直在本机上练习Java后端知识,一直没有真正发布过自己的系统到互联网,基于此,趁着五一放假有时间好好学习一下。

1.购买阿里云服务器

  • 注册并登录阿里云账号

    登录阿里云,首先完成阿里云个人实名认证,本着练习入门的态度,并且首次使用阿里云,不需要有多好的服务器,所以羊毛能薅则薅,在登录到首页时找到免费试用,时限一个月,对于练手熟悉走流程差不多。

图片.png

  • 服务器选择页面,默认就行。

图片.png

图片.png

  • 进入管理看控制台

图片.png 点击该记录的管理可以看到公网ip,更多选项可以看到密码,对于首次购买需要设置密码。

- 使用xshell登录服务器

查看剩余信息的指令:free -h

图片.png 查看存储指令:df -h

图片.png 查看运行信息指令:top

图片.png

  • 进入安全组开放需的端口,如mysql端口,80端口和前台端口,后台端口

图片.png 自动添加需要的默认端口 图片.png

手动添加需要的后端端口 图片.png

  • 使用xshell点击新建文件传输当然前提是安装了xftp工具,打开xftp界面。

图片.png

图片.png 拖动以传输需要的工具,如jdk,nginx等

2.liunx 指令总结(以安装jdk和docker为例)

2.1安装jdk教程

返回上一级目录指令:

cd ..

解压软件安装包指令:

tar -zxvf xxx

将文件名改名指令:mv xxx yyy,xxx是源文件名,yyy是想改成的文件名 图片.png 移动文件到某个文件夹/目录指令:mv 文件名 目录名 图片.png 切换到某个目录下指令:cd /父目录/子目录

图片.png 查看某个目录下的资源指令: ll /父目录/子目录

图片.png 编辑某个文件夹下的文件指令:vim /文件夹、文件

图片.png 编辑模式指令:按字母A键或i键进入编辑模式,在左下角显示insert。ESC退出编辑模式

装jdk需要在 /etc/profile文件尾部添加以下配置:

export JAVA_HOME=/usr/local/jdk1.8
export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin

图片.png 输入完成后按esc,然后输入:wq,即退出保存了。

查看编写的配置指令:cat /etc/profile 图片.png 确认无误后需要刷新下配置, 刷新配置的指令:source /etc/profile

查看安装完的java版本指令:java -version`弹出以下信息则安装完成

图片.png

2.1安装docker教程

首先删除旧版本的docker指令:

yum erase docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-selinux \
                docker-engine-selinux \
                docker-engine \
                docker-ce

安装所需的软件包,yum-utils 提供了yum-config-manager并且device mapper存储驱动程序需要device-mapper-persistent-data和lvm2因此需要设置仓库 设置仓库指令: sudo yum install -y yum-utils device-mapper-persistent-data lvm2

图片.png 使用以下命令来设置稳定的仓库,阿里云仓库: sudo yum-config-manager --add-repo mirrors.aliyun.com/docker-ce/l… 安装最新版本的Docker Engine-Community 和containerd: sudo yum install docker-ce docker-ce-cli containerd.io

启动docker指令:

systemctl start docker 验证是否成功 docker version Docker需要用户具有sudo权限,为了避免每次命令都输入sudo,可以把用户加入Docker用户组: sudo usermod -aG docker $USER 查看镜像文件 docker images 设置docker开机自启 systemctl enable docker 阿里云镜像加速 sudo mkdir -p /etc/docker # 安装成功会有此目录,如果没有手动创建一个 将镜像加速写入到daemon.json文件中 sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://ae38hood.mirror.aliyuncs.com"] } EOF

sudo systemctl daemon-reload

sudo systemctl restart docker # 重启docker服务 启动docker里的Mysql 并映射端口: docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=q6687015 -d mysql:5.7

进入mysql容器:

docker exec -it d7c21382a6c0 /bin/bash#d7c21382a6c0为容器id登录mysql` mysql -uroot -pq6687015

使用 ps -a 查看容器id:

docker ps -a

删除容器:

docker rm 容器id

重启mysql容器:

docker restart mysql

可以在navicat把本地的数据库表拷贝到服务器上的mysql数据库当中

3.发布springboot服务

3.1ingboot项目配置文件当中把ip和数据库配置改到服务器一致

3.2 进入到springboot项目根目录对项目打包

在idea终端当中在项目根目录下输入:mvn clean package -DskipTest

3.3可以在本机桌面上测试打包的结果 图片.png

题外话:部署项目的区别 部署普通的spring项目用war包就可以,部署springboot项目用jar包就可以,因为springboot内置tomcat。 3.4使用xftp将jar包传送到服务器上后并对jar包授权,指令为 chmod 777 springboot-0.0.1-SNAPSHOT.jar

图片.png 3.5在服务器上运行springboot项目 java -jar springboot-0.0.1-SNAPSHOT.jar 图片.png 3.6在浏览器上输入项目网址

图片.png

3.5.每次在终端运行程序时,这个终端就不能再输入别的命令了,这很不爽,我们需要它后台运行。

//需要在前面加入nohup ,后面加入&

nohup java -jar 项目jar包名 & 3.6查看项目否启动指令: ps -ef | grep java

出现以下信息代表服务启动,2175是进程号 图片.png 通过指令 tail f nohup.out查看运行日志,包括springboot异常和报错的信息 3.7关闭后台程序 ①查看端口:netstat -lnp|grep 端口号
②关闭进程:kill -9 进程号

图片.png

4.发布前端项目

在idea当中vue 根目录下运行指令打包成dist

npm run build 安装anywhere本地静态文件随启随用服务器测试打包的vue项目 npm install anywhere -g 切换到vue项目根目录下运行anywhere指令会启动服务器并打开页面,页面能打开证明前端项目可用,此时可以发布到服务器上

图片.png 安装nginx做服务代理 安装依赖和相关库

yum install gcc openssl openssl-devel pcre pcre-devel zlib zlib-devel -y 下载并解压安装包

cd /usr/local //切换到usr/local目录下下载tar包

sudo wget nginx.org/download/ng…

tar -zxvf nginx-1.14.2.tar.gz 删除安装包 rm -rf nginx-1.14.2.tar.gz 切换到安装包下安装nginx cd nginx-1.14.2

./configure --prefix=/usr/local/nginx

最后执行:make && make install 退到上级目录cd ..后删除安装包并进入nginx安装目录

图片.png

图片.png 切换到nginx安装目录的sbin目录下,执行:./nginx---普通启动 cd sbin/

图片.png

./nginx

图片.png 检查Nginx是否启动

通过查看进程:ps -ef | grep nginx

图片.png 切换到ngix安装目录下再切换到切换到conf 目录下

图片.png 图片.png 编辑配置文件,将80端口映射到前端项目的index页面上

图片.png 替换配置文件的该字段

图片.png

在前端项目的根目录下运行如下指令给前端项目授权

chmod 777 * 切换到nginx的安装目录下的sbin目录 图片.png

对nginx进行重启指令:

./nginx -s reload 图片.png

查看nginx是否启动

ps -ef | grep nginx 图片.png

nginx相关教程点击nginx下载安装

视频教程