阿里云服务器购买和部署项目图文详解

本文涉及的产品
RDS AI 助手,专业版
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
简介: 很多小白用户不太了解阿里云服务器购买的流程,已经购买后如何使用阿里云服务器部署项目,那么现在就让我跟大家系统的讲解一下吧。

一、前后端不分离SpringBoot项目部署

1,准备工作

1.1,点击:注册阿里云账号

输入:账户名,登录密码,手机号。


image.png


1.2,域名注册和备案

详细请参考:阿里云域名购买流程和备案流程

1.3,准备服务器

详细请参考:阿里云服务器简介和采购流程

需要开放部分端口:在进入网络与安全-安全组,点击"配置规则",点击"手动添加"

80/80 8080 /8080 888/888 8888/8888

2、宝塔面板相关

2.1、安装CentOS宝塔面板

远程连接个人阿里服务器

进入宝塔官网 www.bt.cn,进行下载:

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

运行命令后,宝塔面板会自动安装,期间你需要输入一个y,如下所示:

Do you want to install Bt-Panel to the /www directory now?(y/n):y

输入y,然后回车即可。

等待,大概2分钟左右,显示“Complete!”,即安装完毕!

注意:下载完成会出现有下面这样一段内容:"(一定要先复制保存下来)"

Complete!
Created symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service → /usr/lib/systemd/system/firewalld.service.
Created symlink /etc/systemd/system/multi-user.target.wants/firewalld.service → /usr/lib/systemd/system/firewalld.service.
success
==================================================================
Congratulations! Installed successfully!
==================================================================
外网面板地址: http://公网IP:8888/335fc27a
内网面板地址: http://172.27.86.45:8888/335fc27a
username: oild6mqk
password: 54922e3f
If you cannot access the panel,
release the following panel port [8888] in the security group
若无法访问面板,请检查防火墙/安全组是否有放行面板[8888]端口
==================================================================
Time consumed: 1 Minute!


Bt-Panel: http://公网ip:8888/随机安全入口
username: 随机用户名
password: 随机登录密码

2.2、面板相关设置

输入 http://公网ip:8888/随机安全入口

输入用户名和密码进行登录

进入首页弹窗推荐你安装相关软件(点击左侧栏中的推荐软件选择版本 点击极速安装进行安装) 需要安装很长一段时间…

点击面板设置:

修改安全入口(不修改临时的就会过期不安全)格式如:/mrkay

修改面板用户:自定义就行用于登录

修改面板密码:自定义就行用于登录

绑定宝塔账号(可绑定可不绑定)

安装软件之前一定要确保你的阿里云服务器中之前没有安装过Mysql、tomcat等系统环境软件,如果安装了一定要卸载干净再进行安装宝塔推荐软件,否则会安装失败,后期相对麻烦。(如果嫌卸载麻烦一种暴力方式:云服务器系统重置  教程见第6章-其他教程)
1、弹窗中推荐的软件可以安装也可以不进行安装,因为后期你可以在软件商店中单独进行安装.
2、弹窗中的极速安装和编译安装区别主要是编译安装的相对稳定但是安装时间也会相对较长.
3、如果"phpMyAdmin"软件的版本是4.4以上安装的php版本最好是70以上也不要太高,因为太低了后期使       用"phpMyAdmin"工具会出现问题;此工具是用来操作MySql的界面化工具,相当于SQLyog工具.
4、面板设置中的 安全入口、面板用户、面板密码 一定需要修改并且记录下来防止忘记
 8888 加入安全组放行  888放行

2.3、面板软件安装及环境配置

上面介绍了推荐软件的安装及面板相关设置之后这里还需要安装一些插件和其他软件以及java环境配置:

宝塔源码一键部署插件安装

Java的JDK环境配置(这里可以采用偷懒方式)

JDK环境是Java项目运行的基础,没有配置JDK环境Java项目是无法运行的。

宝塔面板在我们安装tomcat的时候会默认并自动给我们安装一个JDK并配置环境,tomcat7默认安装jdk7

tomcat8默认安装jdk8,所以我们可以直接安装tomcat即可。

安装完毕远程连接云服务器 键入 java -version 弹出相关信息证明JDK安装及配置完成

2.4、站点相关

创建站点的目的是为了让我们访问 域名:端口 就能访问我们部署的项目;

进入宝塔面板

点击添加站点

输入已经解析过的域名:端口 如: www.baidu.com:8088 如果不加端口默认使用的是80端口,没有域名可以使用

云服务器的公网ip:端口,如: 127.0.0.1:8088

添加备注(备注要见名知意 一般我们可以设置自己要部署的项目的名字)

ftp 和数据库可以先不进行创建其他保持默认 (如果要创建要和你项目的数据库名保持一致)

2.4.2、站点设置

站点设置主要是对已经添加的站点进行相关配置(这里主要是进行反向代理的配置)

点击已经添加的站点最右侧的设置连接进入设置界面

点击反向代理

点击添加反向代理

代理名称社会为你的项目名称即可

目标URL就是访问公网IP/域名之后会被转发到服务器中可以访问的ip:端口(这里我们使用127.0.0.1:端口即可,端口是80可以省略不写)其他保持默认,点击保存即可.

2.5、数据库相关

2.5.1 创建数据库

创建数据库是为了项目正常运行和效果数据展示做准备:

进入宝面板

点击 数据库–root密码 对root用户的密码进行修改

注意:一般修改为一个你项目中配置文件比较常用的密码就行

点击添加数据库

注意:这里的数据库名要和你项目中数据库名字一样就行(比如你项目中访问的数据库名字的blog 这里就写blog)

用户名一般也设置为你数据库名字就行,密码设置为root密码就行(为了方便记忆)

其他保持默认点击提交.数据库就创建完成

2.5.2 导入数据库表

数据库创建完成,接下来就是向云数据库中导入数据即可,将你window本地中的数据库导出为.sql文件保存到桌面上,进入宝塔面板–数据库–管理,就桌面生成的sql导入即可.

注意事项:

点击数据库管理连接或者PhpMyAdmin 页面打不开,可能原因有:PHP版本过低、PhpMyAdmin中设置的版本和PHP的版本不一致、888端口没有放行;(解决方案更新PHP版本为7.0以后版本、设置PhpMyAdmin版本和PHP版本一致、面板和云服务器都放行888端口、"如果以上方法都没有解决就直接卸载nginx重新安装,因为nginx的配置文件中有对PhpMyAdmin端口等信息的相关记录,当然你也可以选择修改,为了简单我是选择的重新安装nginx")

3、SpringBoot项目打包

3.1、配置文件修改

在打包SpringBoot的项目之前需要先对application.yml/application.properties文件进行修改
具体修改如下:
spring:
  datasource:
    driver-class-name: com.mysql.jdbc.Driver
    # 面板中mysql的端口没有修改这里就不需要修改,IP也是用localhost因为此配置文要进行上传,blog要和你面板中创建的数据库名保持一致
    url: jdbc:mysql://localhost:3306/blog?useUnicode=true&characterEncoding=utf-8
    username: root  # 宝塔面板中roo用户,一般为root
    password: ******  # 数据库中你设置的root密码
# 设置application的端口  注意:端口要和你设置站点的端口保持一致
server:
  port: 80

3.2、Maven插件打包项目

使用Maven插件打包项目为jar包
pom文件中引入maven插件
进行打包
//打包成jar包(若改为war包,则将jar改为war)
 <packaging>jar</packaging>
 <build>
    <!--设置jar包名字-->
    <finalName>demo</finalName>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <executable>true</executable>
            </configuration>
        </plugin>
    </plugins>
 </build>

4、宝塔面板上传项目相关

4.1、上传jar和配置文件

使用宝塔面板进行上传jar包和配置文件

进入宝塔面板

点击网站

点击站点的根目录,跳转到根目录文件夹

点击左上角的上传按钮上传jar包

或者

点击文件

在/www里面创建一个文件,我这里是javaweb

然后把你打包好的jar包上传进来

4.2、运行项目

1.查看以放行的端口

firewall-cmd --list-all

2.添加放行端口

firewall-cmd --permanent --add-port=8088(项目端口)/tcp
firewall-cmd --permanent --add-port=8080(Tomcat端口)/tcp
firewall-cmd --permanent --add-port=8888(宝塔web面板端口)/tcp

3.重启防火墙(每次添加都需重启)

firewall-cmd --reload

4.查看防火墙是否开启

systemctl status firewalld
Active 为开启状态

5.关闭防火墙

systemctl stop firewalld
inactive 成功关闭

6.运行项目

远程连接阿里云服务器使用cd命令进入到jar包所在根目录 或者 在宝塔文件里面点击终端执行命令

java -jar 包名字.jar

这个启动的话你关闭终端就不能继续访问了

7.使用 screen 工具进行解决

1.安装screen 执行命令----> yum install screen
2.进入/www/javaweb目录下执行
    利用screen-让jar包在后台运行
        screen java -jar demo-login.jar(你的jar包)

8.其他相关命令

查询端口,后面的端口号 /8089

netstat -nlp|grep 8089

[root@iZwz9g1c3fleimiwiop1hlZ ~]# netstat -nlp|grep 8888
tcp   0   0 0.0.0.0:8888   0.0.0.0:*   LISTEN   42416/python

停止端口,后面的是 pid/python

kill -9 [PID]

查询jar包:

ps aux|grep medicine.jar

输入上面的命令找到pid

杀死指定会话进程 执行命令----> kill -9 [进程号]

自动清理死去的进程 执行命令----> screen -wipe

5、项目遇到问题解决及优化

5.1、项目运行报错及解决

解决80端口占用问题:

netstat -lnp|grep 80   # 查看占用80端口的进程信息,主要看PID   
kill -9 [PID]          # 根据PID杀死进程

第二种优化解决方式:

## 第一种方式存在弊端:当我们解决了端口占用问题之后再次点击数据库--管理(或者PhpMyAdmin)发现又出现了之前的问题2.5.2中提到的页面不存在问题
## 优化解决
1,查看占用80端口的进程
netstat -lnp|grep 80
ps [pid]
#查看详细信息占用80端口是Nginx的master也就是说是Nginx默认使用的端口是80端口,如果我们杀死了Nginx进程那么PhpMyAdmin就没办法访问,如果让Nginx占用80端口使用80端口的项目就没法正常运行和访问.
2,修改Nginx的默认端口
 2.1 宝塔面板中点击软件商店--已安装  找到Nginx点击设置--点击配置修改  我们发现在配置的最后一行有
 include /www/server/panel/vhost/nginx/*.conf; 这样一句话  (这句是引入Nginx的conf配置文件) 而这些配置文件就是记录的我们宝塔面板中使用到Nginx的相关配置.
 2.2 根据目录(/www/server/panel/vhost/nginx)找到相关的配置文件,打开编辑,修改所有80端口为其他没有占用的端口并放行,并在宝塔和云服务器安全组中放行该端口,面板中重启Nginx或者重新加载配置即可。
 ## 上面2.2的步骤有点麻烦;我们还可以直接进行粗暴的优化处理:(不推荐)
 2.2 我们在2.1步骤中找到include /www/server/panel/vhost/nginx/*.conf;将此句直接注释掉变为
 "#include /www/server/panel/vhost/nginx/*.conf;"之后重启Nginx/重新加载配置即可.简单粗暴但是不推荐。(配置文件的定义都有自己的作用,注释掉之后该站点反向代理也将将失效,为了达到效果损失太多)
3,再次启动项目成功,访问PhpMyAdmin都能正常访问.

5.2、端口放行

28085     是项目的端口号,
3306      是Mysql端口号,
8888    是宝塔面板端口号
443     是HTTPS端口号,
80      是http端口号,
3389    是windows远程服务端口号,便于windows系统远程连接服务器
22      是ssh端口号。

二. 部署前后端分离Springboot+Vue

前置准备:

你要在阿里云服务器安装 mysql,jdk,tomcat,nginx这里不多说,直接部署

准备一个springboot+vue项目

1.1、配置数据库

在自己windows本机上开发完后,通过navicat等工具,直接给sql打包

image.png

选择结构和数据,获得相应的.sql文件后用通过navicat等工具,远程连接阿里云服务器,我这里是直接把之前的sql放到去上

image.png

1.2、Springboot打包

先去,改application.yml文件,连之前上传到服务器的数据库

image.png

再去,改pom.xml文件,改成jar包,设置jar名字,jar包名字可以默认不设置

image.png

上面文改好了就直接,打包成jar包,就不用多说了,直接package,

image.png

在target目录下找到jar包传到服务器上,我是传到/www/javaweb下

image.png

1.3、前端Vue打包

先去改一下vue.config.js文件

image.pngimage.png


由于是vue写的,直接在控制台终端 npm run bulid即可,然后改一下dist里面的static文件路径


image.png

再把dist文件夹通过xftp传到服务器上,我是传到/www/wwwroot/dist上的

image.png

1.4、后端部署

进入到你jar包的位置:cd /www/javaweb/

启动:screen java -jar demo.jar(你的jar包)

1.5、前端部署

1.5.1、配置Nginx文件

首先到服务器上,进行安全组配置!十分重要!具体位置如下:

进去后配置规则,点击快速添加,添加80端口

然后利用xftp进入到nginx,放config文件的地方修改config文件

image.png

打开xshell 进入到:

cd /www/server/nginx/sbin

输入命令启动:

./nginx

查看是否启动:

ps -ef | grep nginx

image.png

关闭命令:./nginx -s stop 或者 kill -9 进程id

到这里你的springboot+vue已经部署完成了

注意:这里直接放问域名可能显示不了页面要加 /index.html 如下:

游览器输入:域名或者IP/index.html

image.png

完成!!!!!!

相关实践学习
使用操作系统智能助手OS Copilot解锁操作系统运维与编程
在本实验场景中,将在阿里云ECS上体验OS Copilot产品。OS Copilot是阿里云操作系统团队基于大模型构建的OS智能助手。它具有自然语言问答、辅助命令执行、系统运维调优等功能,帮助用户更好地使用Linux,提升阿里云的使用体验。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
弹性计算 ice
阿里云4核8g服务器多少钱一年?1个月和1小时价格,省钱购买方法分享
阿里云4核8G服务器价格因实例类型而异,经济型e实例约159元/月,计算型c9i约371元/月,按小时计费最低0.45元。实际购买享折扣,1年最高可省至1578元,附主流ECS实例及CPU型号参考。
624 8
|
5月前
|
Shell 网络安全 开发工具
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
服务器已经搭建好的项目如何关联至gitee对应仓库并且将服务器的项目代码推送至gitee-优雅草卓伊凡
371 5
|
5月前
|
Java Linux Apache
在CentOS服务器上编译并部署NiFi源码
部署Apache NiFi在CentOS上是一个涉及细节的过程,需要注意Java环境、源码编译、配置调整等多个方面。遵循上述步骤,可以在CentOS服务器上成功部署和配置Apache NiFi,从而高效地处理和分发数据。
243 17
|
5月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
1489 5
|
5月前
|
存储 弹性计算 网络协议
超详细的阿里云服务器购买流程,ECS自定义购买配置教程
本文详细图解阿里云ECS服务器自定义购买全流程,涵盖付费模式、地域选择、网络配置、实例规格、镜像、存储、安全组及登录设置等核心步骤,助您轻松掌握专业级云服务器搭建方法。
|
5月前
|
存储 弹性计算 Linux
阿里云账号注册、领取优惠券、试用云服务器和购买云服务器教程参考
对于还未使用阿里云任何云产品的用户来说,完整的上云流程包括账号注册并完成实名认证,然后才是试用或者购买云服务器,有的新手用户对这一流程还不是很清楚。本文为大家介绍新手用户从注册阿里云账号,完成实名认证,然后领取阿里云优惠券,并试用云服务器和购买云服务器的全部流程,适合初次购买和试用阿里云服务器的新手用户参考。
|
5月前
|
弹性计算 运维 混合部署
节省计划是什么?购买阿里云服务器节省计划是如何优惠省钱的?
阿里云ECS节省计划是一种按量付费的折扣权益,用户承诺1-5年内的每小时消费金额,可享更低资源使用成本。适用于长期稳定使用的按量实例,支持多规格、地域灵活变更,结合按量付费实现成本优化与运维便捷的平衡。
301 3
|
5月前
|
弹性计算
阿里云8核16G云服务器收费标准:最新价格及省钱购买方法整理
阿里云8核16G云服务器价格因实例类型而异。计算型c9i约743元/月,一年6450元(7折);通用算力型u1约673元/月,一年仅需4225元(5.1折)。实际价格享时长折扣,详情见ECS官网。

热门文章

最新文章