前言
本篇文章将讲述如果从0-1部署自己的项目部署到云服务器上
ps1:这里不是将本地的项目与云服务器连接,而是将项目放到云服务器上。文件内容较多,也许过程遇到的问题也多,请耐心克服。【多思考,多搜索,多理解】 我在过程中遇到的问题:(如果和你遇到的问题相同可以大致看看)
ps2:需要一定的Linux语句基础(例如:基础的cd ls vi 等等)
一、购买阿里云或腾讯云等
ps:可以跟着下面的去购买,也可以查询别的方式找优惠等购买
这里用阿里云举列子->阿里云主页:http://aliyun.com/
1.先注册一个阿里云账号登录(这里不做讲述)
2.登录后购买服务器
①点击控制台:
②点击云服务器ECS:
③点击创建我的ECS
④包年包月方式 地域默认或随便选即可
⑤根据自己需求选择对应的实例规格即可(因为我们只是学习如果部署项目,不需要买多高级的,选择1vCPU 0.5GB 的即可)
⑥镜像选择 CentOS 位随便选即可。
⑦这里使用默认的40即可 后续有需要再加
⑧快照不管,实例数量一台 ,然后时间选择1周(我们只是学习,不需要买多久,有需要到时候再续费) ,然后点击下一步。
⑨网络安全组这一步不需要改变什么,注意一下这里,必须是默认安全组(当然本来就是默认的)直接点下一步即可
⑩选择自定义密码,输入自己的登录密码即可 (记住这里的登录名root和自己的密码)其余的实例名称可填可不填。下一步即可
⑩+①:分组设置不管,下一步即可
⑩+②:没啥问题就确认订单。
最后一步:点击云服务器ECS然后点击实例查看即可。
购买云服务器完成
二、安装SecurityCRT 连接linux的工具。
SecurityCRT是一款支持ssh(ssh1,ssh2)的终端仿真程序,即windows下可以登陆unix或者linux的一款软件。链接:https://pan.baidu.com/s/13FsgbXNuLuZ_BqWZz--VQw
提取码:oiat ||||||ps:如果不行就使用别的连接linux的工具或者找别的方式下载SecurityCRT
1.启动:找到SecureCRT.exe
2.连接:
Protocol :使用默认的SSH2
Hostname: 使用查看阿里云实例中的IP,根据自己的服务器进行输入。
Port: 使用默认的22. 这个端口在购买ECS服务器-网络里的安全组里已经开放了的。
Username: 使用root
3.点击Connect会弹出一个询问是否保存主机的信息,点击中间那个Accept&Save
4.输入 root 和购买实例时的密码。
5.连接成功!
三、安装FTP文件传输工具
安装FTP文件传输工具:链接:https://pan.baidu.com/s/18u_jbtTukHfUqr5cPmK-RQ
提取码:cj26
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链接:https://pan.baidu.com/s/1JJNp5NeS3-toyW9BNGPh4w
提取码: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.如果你看到这里了,也许你成功了,恭喜你;如果你失败了,在过程中遇到了许多问题,请多搜索遇到的问题,本篇文章内容虽然多,但也不一定就是最详细的。且有些内容或许表达不好,展示不够,如果您有意见在评论提出吧!文章来源:https://www.toymoban.com/news/detail-444911.html
2.如果您根据本文章花费了许多时间结果还是没成功,在这里我向您表示歉意。学习本来就是困难的,咱们都需要经历许多困难,许多bug。如果您愿意,可以结合这篇文件的步骤思路,多搜索遇到的问题,多篇结合来达到您的目的~文章来源地址https://www.toymoban.com/news/detail-444911.html
到了这里,关于部署项目到云服务器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!