部署项目到云服务器

前言

本篇文章将讲述如果从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 可以通过workbechip 账号 密码 链接数据库 。

(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端口都开启
# 参数解释
1firwall-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。如果您愿意,可以结合这篇文件的步骤思路,多搜索遇到的问题,多篇结合来达到您的目的~

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值