疫情被困,闲心大发决定给项目上线
本人就读于物联网工程,平时有过较多项目开发经验,在单片机、Arduino和阿里云等平台上都有过项目,最近做了一个小项目,前后端分类架构。突发奇想给项目部署到网上,由于我之前有过阿里云开发经历,故直接到官网看看有没有合适的服务器,在首页看到了飞天计划,学生居然可以白嫖,果断下单买了一个,体验了一下。以下为我给项目部署上线的详细过程:
网站上线云服务器
配置安全组
打开创建的实例,进入安全组的配置规则进行配置。在入方向中点击快速添加:选择数据库:mysql(3306)和前端:http(80)端口
之后在手动添加后台端口,比如9090
使用xshell连接服务器,xftp进行文件传输
- 官网下载免费版本xshell\xftp或者使用阿里云的cloud shell
- 在实例界面,点击更多/密码、密钥/重置实例密码,之后重启实例
- 在xshell中新建会话,主机设为公网ip,点击用户身份验证,用户名输入root,密码为刚才设置得密码,最后点击连接
- 一些xshell命令:free -h:内存 df -h存储空间 top:运行的软件
Linux配置java环境
- 下载linux版本的jdk
- 在xshell中新建文件传输,将下载的jdk放入usr/local/
- 解压: tar -zxvf jdk-8u291-linux-x64.tar.gz
- 移动:将解压后的文件存于/usr/local/jdk1.8中
- 修改配置文件:vim /etc/profile i:插入(编辑),ESC退出,:wq保存
- 在文件最后添加配置:
- export JAVA_HOME=/usr/local/jdk1.8
- export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
- export PATH=$PATH:$JAVA_HOME/bin
- 刷新配置:source /etc/profile
- java -version查看是否配置成功
Linux安装Docker
- 本实例的操作系统为CentOs7.8,其他操作系统操作可能不同
- 使用官方安装脚本自动安装,:curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
- 验证是否安装成功:docker version
- 设置开机自启: systemctl enable docker
- 阿里云设置镜像加速:产品与服务中搜索容器镜像服务,镜像工具/镜像加速器,选择对应的操作系统,配置镜像加速器
- docker常用命令:列举镜像docker image,下载镜像:docker pull xxx,查看容器ID:docker ps,进入容器:docker attach id,停止容器:docker stop id
Docker安装Mysql
- docker pull mysql:8.0.28
- 启动MySql:docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.28
- docker ps -a获取容器ID,进入容器:docker exec -it id /bin/bash
- 登录MySql:mysql -uroot -p (u后接用户名,p后接密码,默认都为root)
Linux安装Nginx
- 安装依赖和相关库:[root@localhost ~]# yum -y install gcc-c++ zlib-devel openssl-devel libtool
- 下载nginx并解压:wget http://nginx.org/download/nginx-1.14.0.tar.gz
- tar -zxvf nginx-1.14.0.tar.gz
- 配置:cd nginx-1.14.0 ./configure --prefix=/usr/local/nginx
- 安装:make && make install
- 启动:cd ../nginx/sbin ./nginx
- 查看nginx:ps -ef | grep nginx
前端部署到服务器
- npm run build打包生成dist文件夹
- 在nginx/conf中有一个nginx.cong文件,使用vim编辑
- 将其中的location替换成location / {root /home/server/dist; index index.html index.htm; try_files $uri $uri/ /index.html; }。dist路径需要修改
后端部署到服务器
- 将后端的数据库配置文件中的数据源url设置为实例的内网ip,修改用户名和密码
- 忽略测试文件打包后端项目mvn clean package -DskipTests
- 在xshell输入java -jar 文件名 运行后端
- 设置后台启动:nohup java -jar xxx.jar &
- 查看进程:ps -ef | grep java
回顾与展望
看到项目通过IP地址访问成功的一刻十分激动,我好像迈出了一大步。从对网站一窍不通到现在独立上线了一个网站,遇到了许多bug,甚至一度想过放弃,但是坚持与冷静帮助了我走出困境,一个个问题得到解决,对网站和服务器的认知一步步加深,离程序员又进步了一点点,但是学无止境,尤其对于IT而言,未来要学习更多新框架和技术!