Linux教程

A054_Linux本地部署_华为云远程部署

本文主要是介绍A054_Linux本地部署_华为云远程部署,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

项目部署-Linux本地部署&华为云远程部署

1.内容介绍

1. Linux本地部署cms; (掌握)
2. 华为云简介; (了解)
3. 华为云(ECS)远程部署cms; (掌握)

2.Linux本地部署

2.1.引入

在这里插入图片描述
在这里插入图片描述

2.2.上传所需文件

  1. 在window上使用xftp工具,将linux版本的Jdk、tomcat上传至linux的指定目录
    (1)推荐两个位置:/usr/local/src、/opt
    (2)这里使用:/usr/local/src
  2. 同理可以先将软件包及Sql文件暂时上传至/usr/local/src中
    出现问题1:安装好之后,连上linux之后,发现使用xftp传不了数据,一致0%,可能因为权限问题。可以使用root用户先进入/usr/local目录(cd /usr/local),然后使用chmod 777 src命令赋予权限,然后重新上传一次就行;

2.3.安装jdk 1.8

1.检测系统自带的jdk安装包,这个openjdk也是可以直接使用的

[root@localhost ~]# rpm -qa|grep java
或者
[root@localhost ~]# rpm -qa|grep jdk

在这里插入图片描述
原因:之前在安装linux时,安装的是带桌面的,所以这里有openJDK
2.如何删除自带的openjdk:

[root@localhost ~]# rpm -e --nodeps    opeanjdk的包名
参数说明:
-e:删除包
--nodeps: 忽略软件包的依赖关系强行安装

3.也可以安装我们上传的的JDK,安装步骤如下:
第一步:由于linux中安装程序一般安装在/user/local下:

[root@localhost ~]# cd /usr/local

第二步:将安装包 jdk-8u151-linux-x64.tar.gz解压解压到/usr/local/目录中:

[...]# tar -zxvf /usr/local/src/jdk-8u151-linux-x64.tar.gz -C /usr/local/

第三步:配置环境 vi /etc/profile,在export语句下面添加:

[root@localhost local]# vi /etc/profile

注意:按键盘上的i(input)键进入编辑模式,按住Ctrl+C退出编辑模式,然后输入:wq!保存并退出

export JAVA_HOME=/usr/local/jdk1.8.0_151
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

第四步:配置环境变量生效:

[root@localhost local]# source /etc/profile

测试安装效果:java -version
在这里插入图片描述
注意:有的时候复制不起效果,需要手敲,例如vi /etc/profile;

2.4.安装mysql

1.如果是解压源码包安装方式,则需要使用xftp或其他工具将安装包 mysql-xxx.tar.gz上传至linux系统。推荐两个位置:/usr/local/src、/opt(这里以/usr/local/src为例);
2.以下使用的是rpm包安装;

2.4.1.Mysql卸载

1.查看当前安装mysql情况:

[root@localhost ~]# rpm -qa|grep -i mysql
参数说明:
rpm:RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”-qa|grep -i mysql:[搜索指定rpm包是否安装] -all搜索*mysql*
                      -q就是 --query ,-a就是--all,
                      |grep mysql就是查含有mysql的包名(grep正则表达式)
                      -i, --install  install package(s) -- 可以省略

在这里插入图片描述

2.删除之前安装的rpm -e --noscripts 包名,如果出现有报错有依赖,可以加上–nodeps,即:

[root@localhost ~]# rpm -e --noscripts 包名 --nodeps
参数说明:
-e:删除包
--noscripts: 忽略RPM包的脚本执行

3.查找之前老版本mysql的目录、并且删除老版本mysql的文件和库:

[root@localhost ~]# find / -name mysql

在这里插入图片描述

4.删除对应的mysql目录:

[root@localhost ~]# rm -rf 上面的目录

5.再次查找机器是否安装mysql,如果没有就说明卸载干净了:

[root@localhost ~]# find / -name mysql
[root@localhost ~]#
2.4.2.Mysql安装

注意:这种安装需要下载,所有需要联网,如果网速不好会导致安装失败,所以安装之前建议先快照,mysql安装失败之后可以恢复到指定的快照版本,重新来一次;
第一步:切换到/usr/local

[root@localhost ~]# cd /usr/local

第二步:下载mysql的rpm源码包

[root@localhost local]# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 

注意:在什么地方下载就要在那个目录中执行安装,否则提示找不到rpm包,安装完后将rpm包删除
第三步:安装mysql-community-release-el7-5.noarch.rpm包

[root@localhost local]# rpm -ivh mysql-community-release-el7-5.noarch.rpm
参数说明:
-ivh:安装显示安装进度--install--verbose--hash

第四步:安装mysql

[root@localhost local]# yum install mysql-server

注意:如果出现进程被占用,可以使用kill -9 进程ID
第五步:启动mysql服务

[root@localhost local]# systemctl start mysqld

附:
查看Mysql状态:systemctl status mysqld 或者 service mysqld status
开启mysql服务:systemctl start mysqld 或者 service mysqld start
关闭mysql服务:systemctl stop mysqld 或者 service mysqld stop
重启mysql服务:systemctl restart mysqld 或者 service mysqld restart
第六步:Mysql安装成功后,默认的root用户密码为空,你可以使用以下命令来设置root用户的密码:

[root@localhost local]# mysqladmin -u root password "你自己想设置的数据库密码"

第七步:连接到Mysql服务器(多种方式 – 密码可以点击回车之后再输入也行)

[root@localhost local]# mysql -uroot -p你刚刚设置的密码
[root@localhost local]# mysql -h127.0.0.1 -uroot -p你刚刚设置的密码
[root@localhost local]# mysql -hlocalhost -uroot -p你刚刚设置的密码
[root@localhost local]# mysql -h本机ip地址 -uroot -p你刚刚设置的密码

注意:如果提示没有wget命令,可以使用以下命令下载wget命令: yum -y install wget

2.4.3.Mysql编码集设置

1.安装完的MySQL的默认字符集为 latin1 ,那么如果此时创建表和数据库,或者导入外部带中文的数据,mysql是不支持的。为了要将其字符集改为用户所需要的(比如utf8),就必须改其相关的配置文件;
2.查看默认字符集:

mysql> show variables like 'character_set%';

在这里插入图片描述

3.修改字符集,修改 /etc/my.cnf文件(输入exit或Ctrl + C退出mysql命令窗口):

[root@localhost local]# vi /etc/my.cnf(没有就自己创建一个,vi会自动创建)

注意:如果my.cnf存在,那么就在[mysqld]处将下面的配置拷贝进去,并删除原来的[mysqld],因为配置中存在一个,不能有两个;

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8

4.退出编辑模式,保存并退出,重启mysql(按Ctrl + C 退出编辑,退出编辑输入:wq!退出编辑器)

[root@localhost local]# systemctl restart mysqld 

注意:如果重启卡住,很有可能是你my.cnf中出问题了,重新编辑,或者从其他人那里拷贝一个;
5.再次连接mysql,查看字符集编码

[root@localhost local]# mysql -uroot -p你刚刚设置的密码
mysql> show variables like 'character_set%';

在这里插入图片描述

2.4.4.增加Mysql远程登录权限

1.上一步即可本地登录,但远程登录会报错:
在这里插入图片描述

2.为了解决这个问题,允许远程访问,需要本地登陆MySQL后执行如下命令:
第一步:进入mysql,授权远程连接

mysql> grant all privileges on *.* to root@'%' identified by '123456';
这句话的意思是:任意用户使用root用户使用123456密码访问,可以设置成mysql的密码

第二步:刷新授权

mysql> flush privileges;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注意:这步是在window上使用数据库的可视化工具(navicat和mysqlworkbench)连接linux的mysql,需要关闭防火墙(参考上面的文档);

2.5.安装tomcat

1.使用xftp或其他工具将安装包 apache-tomcat-x.x.xx.tar.gz上传至linux系统;
 (1)推荐两个位置:/usr/local/src、/opt(这里以/usr/local/src为例)
2.安装步骤如下:
第一步:将安装包 apache-tomcat-x.x.xx.tar.gz解压解压到/usr/local目录中:

[...]# tar -zxvf /usr/local/src/apache-tomcat-8.5.15.tar.gz -C /usr/local/

开启服务和关闭服务:

[root@localhost ~]# cd /usr/local/apache-tomcat-8.5.15/bin
[root@localhost bin]# ./startup.sh 
[root@localhost bin]# ./shutdown.sh 

3.解压文件中目录结构如下:
 (1)bin目录:tomcat启动命令(./startup.sh)、tomcat服务关闭命令(./shutdown.sh )
 (2)webapps目录:工程目录,war包放在这里,在启动tomcat时会自动解压成文件夹
4.利用xftp工具将cms.war包传入到linux的tomcat中的webapps文件夹中
在这里插入图片描述
在这里插入图片描述
注意:放入war包之后要重启tomcat服务,远程访问tomcat的程序,需要关闭防火墙

2.6.部署web项目到tomcat

1.在eclipse中将工程导出war包(export - 输入web - 里面有war包)
2.使用xftp或其他工具将安装包war包上传至linux系统:
 (1)推荐两个位置:/usr/local/src、/opt(这里以/usr/local/src为例)
 (2)或者直接上传至tomcat的webapps目录中
3.最终将war包拷贝到tomcat的webapps目录中

[... bin]# mv /usr/local/src/cms.war /usr/local/apache-tomcat-8.5.15/webapps

4.启动Tomcat服务,首先要切换至tomcat目录的bin目录中

[root@localhost bin]# ./shutdown.sh 
[root@localhost bin]# ./startup.sh 

5.浏览器测试:localhost:8080测试
6.宿主机(window系统)测试:
 (1)使用xshell连接到linux,然后通过这个工具操作linux系统
 (2)需要关闭linux的防火墙

2.7.Linux中mysql导入外部.sql文件

1.连接mysql

[root@localhost /]# mysql -hlocahost -uroot -proot
[root@localhost bin]# mysql -h127.0.0.1 -uroot -proot
[root@localhost bin]# mysql -hlinux的ip地址 -uroot -proot
注意:下面这条语句必须进入mysql,授权远程连接,并刷新授权才行(参考上面的指令)

2.导入外部文件

[...]# mysql -h127.0.0.1 -uroot -proot cms < /usr/local/src/cms.sql

注意:window中导出。Sql文件可以使用工具和命令,命令是在命令提示符中输入:

[...]# mysqldump -h127.0.0.1 -uroot -proot cms > 桌面路径/cms.sql

3.华为云简介

3.1.引入

  1. 一般公司为了节约成本,都不会自己购买服务器(昂贵,需要自己维护),一般会租用服务器;
  2. 服务器厂商:
    (1)国内:阿里云、新浪云、百度云、华为云等,需要备案,域名要备案才能绑定服务器;
    (2)国外:搬瓦工,不需要备案;

3.2.华为云

1.华为云成立于2011年,隶属于华为公司,在北京、深圳、南京、美国等多地设立有研发和运营机构;
2.网址:https://www.huaweicloud.com/,主要业务:
在这里插入图片描述
3.虽然华为云提供的云服务很多,现在我们只了解云主机(ECS);

3.3.ECS简介

  1. 云服务器(Elastic Compute Service,简称 ECS)是一种简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效率,降低 IT 成本,使您更专注于核心业务创新;
  2. 简单理解,就是企业把云服务器租给租户(企业、个人)使用(收费)。租户不需要购买硬件设备,就可以使用服务器;
  3. 好处:
    (1)个人:没钱购买,租来使用,按时间收费,价格低;
    (2)企业:刚创业,资金有限,按需购买,可扩展;

3.4.ECS购买流程

1.购买网址:
https://console.huaweicloud.com/ecm/?region=cn-east-2#/ecs/createVm
在这里插入图片描述
在这里插入图片描述
2.按流程购买,购买完成后,会有一个云的管理界面,在里面就可以管理我们租用的服务器(实例 – 一个安装了linux系统的主机)了,进入管理界面:
(1)按需计费(按小时计费):
在这里插入图片描述

(2)CPU选择:
在这里插入图片描述

(3)系统选择:
在这里插入图片描述

(4)数量选择以及费用查看:
在这里插入图片描述

(5)网络配置:
在这里插入图片描述

(6)宽带选择:
在这里插入图片描述

(7)设置root用户密码:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(8)查看购买的云服务器:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(9)登录linux系统:
在这里插入图片描述

注意:如果是按需购买,按小时计费,即使关闭了云服务器,也会计费:
在这里插入图片描述

3.5.ECS简单使用

1.操作华为云和操作我们虚拟机centos系统一样的,都需要通过远程操作和上传:
在这里插入图片描述
注意:远程操作华为云服务器需要关闭防火墙,具体操作请参考:7.3.4 CentOS防火墙操作

3.5.1.远程操作ECS工具

1.Ssh:xshell,putty等(远程连接,类似windows远程桌面)
2.Sftp:xftp,winscp等(上传文件)
3.组合:putty winscp或Xmanager(xshel,xftp等)
注意:远程操作ECS和操作本地linux系统的CentOS是差不多的,不一样的是要操作ECS的mysql,tomcat时需要配置白名单,否则远程是连接不上对应的程序的;

3.5.2.配置公网白名单

(1)找到安全组
在这里插入图片描述

(2)找到相应实例(ECS)的安全组,点击配置规则
在这里插入图片描述

(3)添加规则,在协议端口处添加tomcat的默认端口8080,mysql的默认端口3306即可;
在这里插入图片描述
在这里插入图片描述

3.5.3.备份即恢复

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.华为云(ECS)远程部署

4.1.部署图

在这里插入图片描述
1.单独部署mysql+tomcat等组件,比较麻烦,要是能一键式部署就好了。的确有,有一个开源的一键式安装php/java运行环境OneinStack;

4.2.OneinStack

4.2.1.什么是OneinStack

1.http://oneinstack.com/ – 点击【交互安装】,按照操作步骤安装完成;
2.一键式安装php/java运行环境(对jdk、mysql、tomcat、nginx等参数做了优化配置);
3.注意:默认软件都是安装在/usr/local下(mysql、tomcat、redis等),jdk在/usr/java中

4.2.2.软件安装

第一步:安装wget屏幕

[root@ecs-4229 /]# yum -y install wget screen
注意:在不同的系统中命令不一样
yum -y install wget screen #for CentOS/Redhat
# apt-get -y install wget screen #for Debian/Ubuntu

第二步:下载oneinstack包

[root@ecs-4229 /]# cd /usr/local/src/
[root@ecs-4229 src]# wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz
注意:#包含源码,国内外均可下载

第三步:解压oneinstack包

[root@ecs-4229 src]# tar -zxvf oneinstack-full.tar.gz -C ./
[root@ecs-4229 src]# cd /usr/local/src/oneinstack/
[root@ecs-4229 oneinstack]# 

第四步:安装软件

[root@ecs-4229 oneinstack]# ./install.sh 

注意:
1.下图太小,建议参考官网【交互安装】处,需要什么软件安装什么软件(tomcat、mysql(需要设置密码),jdk等,ssh(默认端口22));
2.默认会将软件安装在/usr/local下,安装过程大概十到三十分钟不等,跟网速有关,需要的软件就安装,不需要的就不安装;
在这里插入图片描述
注意:第二项iptables可以不用开启,因为有了安全组,如果开启之后需要,需要通过命令放开3306:

[root@ecs-7ee6 ~]# iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-- 添加允许访问3306端口
[root@ecs-7ee6 ~]# service iptables save
-- 保存iptables规则
4.2.3.安装后配置
  1. 输入java -version,查看java安装情况;
  2. Tomcat安装在/usr/local/下,远程访问需要:
    (1) 关闭防火墙:参考上述命令
    (2) 华为云ECS设置安全组,外网白名单:8080
    (3) 注意:通过OneinStack安装的tomcat,在安装之后,在tomcat的conf为文件夹下,有两个文件,一个是server.xml_bk,另一个是server.xml,后者引用了vhost文件,这个文件无法正常访问到8080端口的tomcat,所以需要更换,可以先将其名修改成server1.xml,然后将server.xml_bk修改成server.xml即可,具体操作如下,这样war包才能自动解压:
[root@ecs-4229 /]# cd /usr/local/tomcat/conf
[root@ecs-4229 conf]# mv server.xml ./server.xml_stack
[root@ecs-4229 conf]# mv server.xml_bk ./server.xml
  1. 安装好之后输入http://公网IP:8080是404,是因为通过OneinStack安装的tomcat的webapps文件夹下只有一个空文件ROOT,所以需要将项目部署进去之后再访问;
  2. Mysql也安装在/usr/local/下,远程访问需要:
    (1)关闭防火墙:参考上述命令
    (2)开启mysql远程登录权限,并刷新权限(远程使用navicat连接)
    (3)华为云ECS设置安全组,外网白名单:3306
    (4)如果在安装时选择开启了iptables规则,还需要配置ip(特别是:3306)
4.2.4.如何管理服务

在这里插入图片描述
在这里插入图片描述

5.课程总结

5.1.重点

1.Linux本地部署CMS;
2.华为云(ESC)远程部署CMS;

5.2.难点

1.Linux本地部署CMS;
2.华为云(ESC)远程部署CMS;

5.3.如何掌握

1.参考文档;
2.多试几次;

5.4.排错技巧

6.常见问题

6.1.安装mysql时出现进程ID被占用

在这里插入图片描述
解决方案:kill -9 加需要关闭的进程ID,然后重新安装即可;
在这里插入图片描述

7.课后练习

1.Linux本地部署CMS;
2.华为云(ESC)远程部署CMS;

8.面试题

9.扩展知识或课外阅读推荐(可选)

9.1.扩展知识

9.2.课外阅读

这篇关于A054_Linux本地部署_华为云远程部署的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!