如何部署项目到云服务器?从零开始部署自己的项目到云服务器的详细教程
前言
本篇文章将讲述如果从0-1部署自己的项目部署到云服务器上
ps1:这里不是将本地的项目与云服务器连接,而是将项目放到云服务器上。文件内容较多,也许过程遇到的问题也多,请耐心克服。【多思考,多搜索,多理解】 我在过程中遇到的问题:
ps2:需要一定的Linux语句基础(例如:基础的cd ls vi 等等)
一、购买阿里云或腾讯云等
ps:可以跟着下面的去购买,也可以查询别的方式找优惠等购买
这里用阿里云举列子->阿里云主页:
1.先注册一个阿里云账号登录(这里不做讲述)
2.登录后购买服务器
①点击控制台:

②点击云服务器ECS:

③点击创建我的ECS

④包年包月方式 地域默认或随便选即可

⑤根据自己需求选择对应的实例规格即可(因为我们只是学习如果部署项目,不需要买多高级的,选择1vCPU 0.5GB 的即可)

⑥镜像选择 CentOS 位随便选即可。

⑦这里使用默认的40即可 后续有需要再加

⑧快照不管,实例数量一台 ,然后时间选择1周(我们只是学习,不需要买多久,有需要到时候再续费) ,然后点击下一步。

⑨网络安全组这一步不需要改变什么,注意一下这里,必须是默认安全组(当然本来就是默认的)直接点下一步即可

⑩选择自定义密码,输入自己的登录密码即可 (记住这里的登录名root和自己的密码)其余的实例名称可填可不填。下一步即可

⑩+①:分组设置不管,下一步即可
⑩+②:没啥问题就确认订单。

最后一步:点击云服务器ECS然后点击实例查看即可。
购买云服务器完成

二、安装SecurityCRT 连接linux的工具。
SecurityCRT是一款支持ssh(ssh1,ssh2)的终端仿真程序,即windows下可以登陆unix或者linux的一款软件。oiat
1.启动:找到SecureCRT.exe

2.连接:
Protocol :使用默认的SSH2
Hostname: 使用查看阿里云实例中的IP,根据自己的服务器进行输入。
Port: 使用默认的22. 这个端口在购买ECS服务器-网络里的安全组里已经开放了的。
Username: 使用root

3.点击Connect会弹出一个询问是否保存主机的信息,点击中间那个Accept&Save

4.输入 root 和购买实例时的密码。

5.连接成功!

三、安装FTP文件传输工具
安装FTP文件传输工具
1.先通过SecurityCRT工具连接云linux
2.然后输入安装命令:
yum install vsftpd –y
如果过程中出现y/d/n 按 y 后回车即可
当显示complete!表示安装成功。

3.查看服务器启动状态的方式:(只需执行启动和查看状态,别的可以不管)
启动:systemctl start vsftpd.service 执行此句即可
查看状态:systemctl status vsftpd.service 执行此句即可

一些关闭和启动重启的方法:
关闭ftp服务:systemctl stop vsftpd.service
启动fpt服务:systemctl start vsftpd.service
重启ftp服务:systemctl status vsftpd.service
检查端口号:netstat -anp|grep 21

Tcp6 0 0 :::21 这行是这样就行。
4.配置ftp用户:
4.1创建一个传输目录:
mkdir -p /home/wwwroot/ftptest
4.2创建用户并分为ftp组:
useradd -d /home/wwwroot/ftptest -g ftp -s /sbin/nologin ftptest
解释:-g ftp 表示该用户属于ftp分组 (ftp分组是内置的,本来就存在,不需要自己创建)-s /sbin/nologin 表示这个用户不能用来登录secureCRT这样的客户端。 这种不能登陆的用户又叫做虚拟用户。创建过程给出的警告信息是正常的。
4.3设置用户目录权限:把目录/home/wwwroot/ftptest的拥有者设置为ftptest
使ftptest用户拥有这个目录的读写权限。
chown -R ftptest /home/wwwroot/ftptest chmod -R 775 /home/wwwroot/ftptest
4.4为ftptest用户设置密码:用于在ftp软件连接:
passwd ftptest
然后输入想要的密码即可(需要记住,后续通过FTP连接linux传输文件)
4.5去掉匿名登录:默认情况下vsftpd服务器是允许匿名登陆的,这样非常不安全,所以要把这个选项关闭掉。
首先通过vi命令打开ftp服务器配置文件:(关于vi文本的三大模式,如何输入退出保存,请去自行搜索linux相应知识)
vi /etc/vsftpd/vsftpd.conf
然后把本来的 (ps:如何在vi文本快速里查找字符或查找目的行请自行搜索相应llinux知识)
anonymous_enable=YES
修改为anonymous_enable=NO

4.6为ftp添加用户清单:
vi /etc/vsftpd/chroot_list
然后再里面加一行:ftptest

允许写权限:
vi /etc/vsftpd/vsftpd.conf
在最后面加一行:allow_writeable_chroot=YES

5.配置端口
5.1 vsftpd有两种端口,一个是21端口,用来监听客户端连接请求的。 这个一般说来是固定的,就一直使用21端口。另一种是,一旦获取到请求之后,再专门用户服务端和客户端传输数据的端口。
本知识点就是用于指定第二种端口的获取范围:
5.2打开配置文件:
vi /etc/vsftpd/vsftpd.conf
在最后添加:
pasv_enable=YES pasv_min_port=30000 pasv_max_port=30010

这表示使用被动模式,用于传输数据的端口分配从30000-30010之间。
在后续的Linux开放端口教程中也会做相应的配合工作。
6.用户鉴权
6.1因为用户 ftptest 是 nologin的,所以存在鉴权的问题。 如果鉴权问题不解决,就是永不停息的 530错误。
vi /etc/pam.d/vsftpd
注释掉/etc/pam.d/vsftpd文件里这一行:
#auth required pam_shells.so
这样不去鉴权,从而允许 ftptest 这种 虚拟用户登录 ftp 服务器.

然后必须重启vsftpd服务器!
重启vsftpd服务器:
通常重启使用的命令是
service vsftpd restart
但是centos7之后,改用的命令是如下方式:
systemctl restart vsftpd.service
最后执行查看状态,以查看重启成功了
systemctl status vsftpd.service

7.开放端口
7.1到阿里云服务器ESC实例安全组开通端口即可
更多—网络和安全组—安全组配置 可以把常用的22 21 3306 8080 80 30000-30010 都开通了

(ps:由于本人的云服务器过期了,进行安全组配置请自行搜索,可以把22 21 3306 8080 80 30000-30010 都开通了)
8.打开FTP软件进行传递需要的文件等进入linux

打开后选择左上角站点—快速连接对话框

快速连接对话框:输入主机地址即阿里云购买的实例的ip地址,端口选择21。然后输入刚刚配置fpt时所创造的用户名和密码。确定即可

连接成功!

9.然后进入与云linux连接的securityCRT里查看,此时此处为空
ls /home/wwwroot/ftptest/
四.传递jdk/tomcat/web项目安装包或材料进linux云服务器
1通过ftp软件连接后传输即可:传输项目war包,jdk,数据库文件,tomcat安装包传输jdk tomcat web项目war包。tomcat和jdk链接:
提取码:7o5q(ps:数据库文件 项目war包需要使用自己的哦~ 如何获取项目的war包和数据库文件请自行搜索)
2此为cd /home/wwwroot/ftptest/ 进入FTP传输目录。
3解压jdk :tar –zxvf 包名
4创建jdk存放目录:mkdir /usr/local/java
5移动jdk到该目录:mv jdk-18.0.2 /usr/local/java/
4打开环境配置文件:vim /etc/profile
在最后输入:
export JAVA_HOME=/usr/local/java/jdk-18.0.2
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
然后关闭文件
重新启动该文件:source /etc/profile 必须执行
查看jdk是否安装成功:java -version 如果出现版本等信息就表示安装成功

五.在linux中安装Mysql
1.先进入tmp:cd /tmp (ps:如果没有tmp目录,需要创建)
cd /tmp
2.直接输入以下代码:然后等待即可
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release-el7-5.noarch.rpm

3接着就可以通过yum安装了:最后显示complete!即可 过程中有y/n 按y 回车即可
yum install mysql mysql-server mysql-devel –y

4.然后需要启动mysql服务
启动mysql服务器:systemctl start mysql.service
关闭mysql服务器:systemctl stop mysql.service
重启mysql:systemctl restart mysqld.servic
5.验证:安装后会自动启动,启动后会占用3306端口。 使用如下命令查看3306端口是否启动,如果启动了则表示mysql处于运行状态。
netstat -anp|grep 3306

通过Yum安装的mysql的管理员账户是没有密码的,这里通过命令设置其密码为 root
mysqladmin -u root password root
Warning信息并非提示设置失败,而是提示密码出来了,小心后面有人。
登录:mysql -u root -proot 或者mysql -u root -p 然后输入密码

Linux 的Mysql 大小写敏感
所以修改配置文件:
vi /etc/my.cnf
如图所示在[mysqld]后添加添加lower_case_table_names=1

然后保存文件
重启mysql:
systemctl restart mysqld.service
六.Mysql远程配置
即可通过windows下的workbech软件 来进行远程连接。 输入ip 账号 密码即可。
1.进入与云Linux连接的SecureCRT下进入myesql:
mysql -u root -proot
输入以下代码:
use mysql; select host,user from user; update user set host='%' where user='root'; flush privileges; 刷新命令
(ps:)如果出现Duplicate entry '%-root' for key 'PRIMARY'错误


如果有% 就说明对了,没问题。
设置完远程配置后,即在window下 可以通过workbech用ip 账号 密码 链接数据库 。
(ps:放入linux的代码的数据库连接如果127.0.0.1不行就换云服务器的ip地址)
2.配置防火墙 (ps:我们需要开放80或8080端口)
查看firewall服务状态
systemctl status firewalld
查看firewall的状态
firewall-cmd --state
开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
查看防火墙规则
firewall-cmd --list-all
查询、开放、关闭端口
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 开放8080端口
firewall-cmd --permanent --add-port=8080/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
注意:这里开启了防火墙,所以记得将3306mysql端口 21ftp文件传输端口 30000-30010开启 80 8080端口都开启
# 参数解释
1、firwall-cmd:是Linux提供的操作firewall的一个工具;
2、--permanent:表示设置为持久;
3、--add-port:标识添加的端口;
七.安装tomcat
进入传输的目录
然后先解压:tar -zxvf 包名
然后移动到 /usr/local/tomcat7:
mv apache-tomcat-7.0.92 /usr/local/tomcat7
(ps:按理说没有目录会自动创建的,如果没有就自己创建吧)
启动tomcat: /usr/local/tomcat7/bin/startup.sh

关闭tomcat: /usr/local/tomcat7/bin/shutdown.sh

查看该端口是否开放并占用:netstat -anp|grep 8080

八.进行项目部署
1.通过FTP传入的数据库sql文件且将其导入linux的mysql(ps:如果这一步始终不行,请自行搜索解决自己的问题)或者在windows下的mysql去创建(之前对mysql进行了远程连接配置)
mysql -u root -p密码 --default-character-set=utf8 数据库名 < /home/wwwroot/ftptest/sql文件名
提示并非导入失败,而是警告密码。
--default-character-set=utf8 表示以utf8导入 后面为导入的数据库 < 表示重定向 然后是sql文件目录。
ps:(如果导入编码格式不同可能会报错)
无论是从workbech还是从Linux用命令导入,数据的sql文件里的所有创建表的最后一行写上
ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; 或者对每一个编码格式手动去修改。
将默认字符集改成utf-8 如果有collaction 则改为utf-8_bin
创建数据库这样创建:

2.通过FTP传输自己的web的war包到linux下。
将web项目war包在tomcat关闭状态下放入webapps目录下。然后启动tomcat会自动解压war包
(ps:或者修改server.xml文件.。该文件在:/usr/local/tomcat7/conf/,此方法是修改server.xml配置文件,具体的知识请自行搜索tomcat部署独立项目的方式。)
提示:原本的项目里连接数据库的语句的账号密码数据库名要改为linux下的哦~
即可通过http://ip地址:端口号/项目名访问项目。(ps:打开时间可能3分钟或更长,需等待),后续任何修改,都只需关闭 打开等待即可。//实在不需就关闭 打开 关闭 打开……。项目名即为解压到tomcat的webapps目录下的文件名,如果是server.xml修改的方式则项目名为自己设置的。
成功:(因为买的机器性能非常低,图片等加载会有点慢)

总结
1.如果你看到这里了,也许你成功了,恭喜你;如果你失败了,在过程中遇到了许多问题,请多搜索遇到的问题,本篇文章内容虽然多,但也不一定就是最详细的。且有些内容或许表达不好,展示不够,如果您有意见在评论提出吧!
2.如果您根据本文章花费了许多时间结果还是没成功,在这里我向您表示歉意。学习本来就是困难的,咱们都需要经历许多困难,许多bug。如果您愿意,可以结合这篇文件的步骤思路,多搜索遇到的问题,多篇结合来达到您的目的~
虚拟主机和云服务器区别详细对比
阿里云服务器从云服务器和虚拟主机的适用人群、使用场景、CPU、内存、带宽、Web网站环境、付费方式、登录服务器等方面详细对比二者的区别,领取 aliyun.club 免费领取12张代金券,总面值2088元优惠券。
虚拟主机主要用于搭建网站,用户拥有部分权限,预装了常见的建站运行环境和数据库,如ASP、PHP、QL Server和MySQL等Web所需环境,提供可视化控制面板,云虚拟主机最大的优势在于操作简单,主要用于建站,不需要专业的技术人员来维护。

云服务器ECS是专业级弹性计算服务,支持各种应用软件灵活扩展,用户拥有全部权限,适合有技术能力、懂得服务器配置及维护的用户及开发者使用,云服务器不仅可以用来建站,还可以作为APP服务器、小程序服务器、大数据计算、科学计算等使用场景。
适用场景
- 虚拟主机:用于建站,快速搭建中小型企业网站、小型个人电子商务网站、快速搭建新闻资讯类网站和搭建个人博客等;
- 云服务器ECS:适用于全部各类服务器使用场景,提供计算服务,不只是建站,如搭建小程序服务器、APP后端服务器、视频服务器、GPU服务器、深度计算、视频弹幕、游戏服务器、数据分析和计算等全量使用场景。
适用人群
- 虚拟主机:初级入门建站用户;
- 云服务器:有技术能力、懂得服务器配置及维护的个人用户或开发者。
CPU处理器
- 虚拟主机:阿里云虚拟主机分为共享型和独享型,共享型虚机的CPU是共享的,独享型虚机的CPU是独享的;
- 云服务器:除共享型ECS实例外(e实例是共享型),其他类型实例均为独享CPU,如ECS通用算力型u1、计算型c7、通用型g8i等都是独享型云服务器。
内存区别
- 虚拟主机:共享型虚机内存是共享的,独享型虚机内存是独享的;
- 云服务器:内存都是独享的。
公网带宽
- 虚拟主机:共享型虚机带宽是共享的,独享型虚机带宽是独享的;
- 云服务器:独享型,并且分配独立公网IP地址。
网站运行环境
- 虚拟主机:预装网站运行环境,不需要自行搭建网站运行环境;
- 云服务器:支持多种镜像,可以安装纯净版操作系统,也可以安装带有特定应用的镜像。
付费方式
- 虚拟主机:共享虚拟主机是年付,独享虚机可以月付也可以年付;
- 云服务器:支持多种计费模式,如按量付费、包年包月或抢占式实例。
登录服务器
- 虚拟主机:不支持登录服务器,提供可视化操作面板;
- 云服务器:可以登录到服务器。
租赁价格对比
一般来讲,虚拟主机的价格要比云服务器优惠,但是阿里云服务器的价格一降再降,云服务器价格比虚拟主机还优惠,所以阿里云服务器不见选择虚拟主机,建议大家直接购买云服务器,性能更好、权限更高、使用场景更广泛,通过安装宝塔面板的等第三方面板,搭建网站更方便。阿里云服务器网整理最新云服务器和虚拟优惠价格表,大家自行对比:
云服务器费用
- 轻量应用服务器:2核2G、3M带宽、50GB高效云盘,82元一年;
- 轻量应用服务器:2核4G、4M带宽、60GB高效云盘,298元一年;
- 99元服务器配置:ECS经济型e实例,2核2G,3M固定带宽,40G ESSD Entry云盘;
- 199元服务器配置:ECS u1实例(企业首选),2核4G,5M固定带宽,80G ESSD Entry盘;
- 4核16G服务器:10M带宽、100G ESSD entry系统盘,70元1个月、210元3个月;
- 8核32G服务器:10M带宽、100G ESSD entry系统盘,160元1个月、480元3个月。
如果怕云服务器ECS不会使用,也可以选择轻量应用服务器,轻量服务器自带应用模板镜像,例如WordPress、ASP.NET、宝塔Linux面板、LAMP、LNMP、云·原生建站等应用镜像,直接选择镜像可以一键部署环境,不需要手动部署。
虚拟主机费用
阿里云虚拟主机分为共享型和独享型,目前共享型虚拟主机417元一年、独享基础增强版价格49元1个月,详细价格表如下:
| 虚拟主机版本 | CPU内存 | 月高速流量 | 网页空间 | 数据库空间 | 费用价格 |
|---|---|---|---|---|---|
| 共享云虚拟主机 经济增强版 | – | 40GB | 2GB | 500MB | 417元/年 |
| 独享基础增强版 | 1核1G基础版(5M峰值带宽) | 200GB | 5GB | 500MB | 49.00元/月 |
| 独享标准增强版 | 1核1G标准版(10M峰值带宽) | 500GB | 20GB | 1GB | 75.00元/月 |
| 独享高级增强版 | 1核2G高级版(15M峰值带宽) | 500GB | 20GB | 1GB | 75.00元/月 |
| 独享豪华增强版 | 2核4G豪华版(20M峰值带宽) | 1500GB | 100GB | 1GB | 230.00元/月 |
综上,阿里云服务器网aliyunfuwuqi.com总结一下,阿里云服务器和虚拟主机有什么区别?云服务器更专业、性能更高、使用范围更广,虚拟主机使用简单,只能用于建站,阿里云服务器网建议选择云服务器,因为云服务器降价了,以99元服务器为例,原价956元一年,折后只要99元一年,相当于1折的优惠折扣,并且续费还不涨价,第二年续费还是99元一年。
以上就是部署项目到云服务器的详细内容,更多相关资料请阅读主机测评网其它文章!
本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https:///yunfuwuqi/8775.html
