ECS

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云防火墙,500元 1000GB
简介: ECS搭建网站

一、购买域名和云主机
云主机就是一台远程电脑,用于存放你的各种资料文件,在这里不推荐大家使用共享的免费空间,毕竟共享安全就约等于0。域名就是网站名,取一个好记的域名能省不少事,当然不买域名也可以做网站,不过只能通过云主机的ip地址来访问网站。如果买国内的云主机(如阿里云,腾讯云,华为云…)在域名解析时必须备案,不然将无法访问,海外服务器则不需要备案。如果不想等7到20多天的备案流程建议直接入手海外服务器。

1.各大云主机网站购买ECS服务器
选择合适(主要是价格)的云主机和域名进行购买,好多新手在购买云主机时会犹豫系统选Linux还是Windows,大家都用习惯Windows了,而且Linux系统不像Windows一样有可视化界面,全是代码。但是仍然建议各位选择Linux系统,因为我一开始也是选择了Windows系统,但是除了看得见之外并没有对我布置网站提供很大帮助,反而网上的教程大多数都是Linux系统,毕竟相对来说Linux更安全。(我使用的Centos 7.4版本)

2.选择一个好记的域名
域名就是网站的地址,对自己来说好记最重要,虽然只是自己开发测试,但是万一以后做得好了,大家想要上你的网站发现地址难打的很,瞬间就没有了兴趣。

二、下载远程连接和文件传输软件
1.远程连接
如果不想下载软件可以直接去aliyun找到自己的ECS主机实例,点击里面的远程连接按钮即可,这里推荐两款自己用挺好的软件,Xshell和PuTTY。

2.文件传输
这里推荐两款软件,Xftp和Winscp,个人喜欢Xshell和Xftp一起使用,主要方便。文件传输对于不懂Linux命令的新手来说简直是福音。

三、手动部署开发环境
1.下载源代码
(1 下载Apache Tomcat
下载Apache Tomcat服务器

(2 下载JDK
下载JDK安装压缩包

注:直接用wget命令在实例中下载JDK安装压缩包,在解压时会出错。推荐在浏览器下载JDK安装压缩包,再通过文件传输软件上传到ECS实例上。

(3 使用文件传输软件
使用文件传输软件Xftp/Winscp连接云服务器的公网IP地址,将下载好的Tomcat和JDK安装压缩包上传到云服务器的根目录下

2.安装前准备
(1 在云服务器ECS实例安全组入方向添加所需端口
目前使用到SSH协议的22端口,HTTP协议的80端口,Tomcat的8080端口,MySQL的3306端口

(2 通过VNC远程连接到云服务器
使用ECS云主机自带的远程连接按钮或者Xshell/PuTTY等软件远程连接到云服务器

(3 关闭防火墙:
i.运行以下命令查看当前防火墙的状态
systemctl status firewalld
如果防火墙的状态参数是inactive,则防火墙为关闭状态
如果防火墙的状态参数是active,则防火墙为开启状态。
本示例中防火墙为开启状态,因此需要关闭防火墙
ii.关闭防火墙(如果防火墙为关闭状态可以忽略此步骤)
如果您想临时关闭防火墙,运行命令

systemctl stop firewalld

注:这只是暂时关闭防火墙,下次重启Linux后,防火墙还会开启。

如果您想永久关闭防火墙,运行命令

systemctl disable firewalld

注:如果您想重新开启防火墙,具体操作,请参见firewalld官网信息。

(4 关闭SELinux
i.运行以下命令查看SELinux的当前状态
getenforce

如果SELinux状态参数是Disabled, 则SELinux为关闭状态
如果SELinux状态参数是Enforcing,则SELinux为开启状态
本示例中SELinux为开启状态,因此需要关闭SELinux
ii.关闭SELinux(如果SELinux为关闭状态可以忽略此步骤)
如果您想临时关闭SELinux,运行命令

setenforce 0
1
注:这只是暂时关闭SELinux,下次重启Linux后,SELinux还会开启

如果您想永久关闭SELinux,运行以下命令编辑SELinux配置文件

vi /etc/selinux/config
1
把光标移动到SELINUX=enforcing这一行,按i键进入编辑模式,修改为

SELINUX=disabled
1
按Esc键,然后输入:wq并回车来保存并关闭SELinux配置文件。

如果您想重新开启SELinux,具体操作,请参见开启或关闭SELinux

iii.重启系统使设置生效
(5 运行以下命令创建一般用户www来运行Tomcat
useradd www
1
(6 运行以下命令创建网站根目录
mkdir -p /data/wwwroot/default
1
(7 将需要部署的Java Web项目文件WAR包上传到网站根目录下,然后将网站根目录下文件所属用户改为www
本示例中,将依次运行以下命令直接在网站根目录下新建一个Tomcat测试页面,并将网站根目录下文件所属用户改为www

echo Tomcat test > /data/wwwroot/default/index.jsp
chown -R www.www /data/wwwroot
1
2
3.安装JDK
(1 运行以下命令新建一个目录
mkdir /usr/java
1
(2 依次运行以下命令为jdk-8u241-linux-x64.tar.gz添加可执行权限并解压到/usr/java
chmod +x jdk-8u241-linux-x64.tar.gz
tar xzf jdk-8u241-linux-x64.tar.gz -C /usr/java
1
2
(3 设置环境变量
i.运行以下命令打开/etc/profile文件
vi /etc/profile
1
ii.按下i键,添加以下内容

set java environment

export JAVA_HOME=/usr/java/jdk1.8.0_241
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
1
2
3
4
iii.按下Esc键,输入:wq并回车以保存并关闭文件
(4 加载环境变量
运行命令

source /etc/profile
1
(5 显示JDK版本信息
运行命令查看JDK版本

java -version
1
返回结果如图所示,表示JDK已经安装成功

4.安装Apache Tomcat
(1 依次运行以下命令
i.解压apache-tomcat-8.5.53.tar.gz
tar xzf apache-tomcat-8.5.53.tar.gz
1
ii.重命名Tomcat目录
mv apache-tomcat-8.5.53 /usr/local/tomcat/
1
iii.设置文件的所属用户
chown -R www.www /usr/local/tomcat/
1
说明
在/usr/local/tomcat/目录下

bin:存放Tomcat的一些脚本文件,包含启动和关闭Tomcat服务脚本。
conf:存放Tomcat服务器的各种全局配置文件,其中最重要的是server.xml和web.xml。
webapps:Tomcat的主要Web发布目录,默认情况下把Web应用文件放于此目录。
logs:存放Tomcat执行时的日志文件。
(2 配置server.xml文件
i.运行以下命令切换到/usr/local/tomcat/conf/目录
cd /usr/local/tomcat/conf/
1
ii.运行以下命令重命名server.xml文件
mv server.xml server.xml_bk
1
iii.新建一个server.xml文件
a.运行命令
vi server.xml
1
创建server.xml文件

b.按下i键,添加以下内容
<?xml version="1.0" encoding="UTF-8"?>






<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml"/>


<Connector port="8080"
protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
maxThreads="1000"
minSpareThreads="20"
acceptCount="1000"
maxHttpHeaderSize="65536"
debug="0"
disableUploadTimeout="true"
useBodyEncodingForURI="true"
enableLookups="false"
URIEncoding="UTF-8"/>


<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>



<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log." suffix=".txt" pattern="%h %l %u %t "%r" %s %b" />




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
c.按下esc键,输入:wq并回车以保存并关闭文件
(3 设置JVM内存参数
i.运行以下命令创建/usr/local/tomcat/bin/setenv.sh文件
vi /usr/local/tomcat/bin/setenv.sh
1
ii.按下i键,添加以下内容
JAVA_OPTS='-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8'
1
iii.按下esc键,输入:wq并回车以保存并关闭文件

(4 设置Tomcat自启动脚本
i.运行以下命令下载Tomcat自启动脚本
wget http://raw.githubusercontent.com/oneinstack/oneinstack/master/init.d/Tomcat-init
1
ii.运行以下命令重命名Tomcat-init
mv Tomcat-init /etc/init.d/tomcat
1
iii.运行以下命令为/etc/init.d/tomcat添加可执行权限
chmod +x /etc/init.d/tomcat
1
iv.运行以下命令设置启动脚本JAVA_HOME
sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/java/jdk1.8.0_241@' /etc/init.d/tomcat
1
注意:脚本中JDK的版本信息必须与您安装的JDK版本信息一致,否则Tomcat会启动失败

(5 运行以下命令设置Tomcat开机自启动
chkconfig --add tomcat
chkconfig tomcat on
1
2
(6 运行以下命令启动Tomcat
service tomcat start
1
(7 在浏览器地址栏中输入http://公网IP:8080进行访问。
返回页面如下图所示,表示安装成功

5.下载安装MySQL
(1安装Yum Repository
由于CentOS的yum源中没有mysql,需要到mysql的官网下载yum repo配置文件,打开MySQL下载界面,根据自己的系统选择合适的版本,复制下面的代码

i.下载Yum repo配置文件
如上图所示选择红框中的版本下载,代码如下

wget https://dev.mysql.com/get/mysql80-community-release-el8-1.noarch.rpm
1
如果提示-bash:wget command not found,则没有安装wget软件包,运行以下命令安装

sudo yum install wget
1
ii.repo的安装
rpm -ivh mysql80-community-release-el8-1.noarch.rpm
1
执行完成后会在/etc/yum.repos.d/目录下生成两个repo文件mysql-community.repo mysql-community-source.repo

(2 使用yum命令安装MySQL
i.进入 /etc/yum.repos.d/目录
cd /etc/yum/repos.d/
1
ii.安装MySQL
yum install mysql-server
1
iii.启动msyql
systemctl start mysqld
1
iv.获取安装时的临时密码
在第一次登录时就是用这个密码

grep 'temporary password' /var/log/mysqld.log
1
v.倘若没有获取临时密码,则
删除原来安装过的mysql残留的数据再启动mysql

rm -rf /var/lib/mysql
systemctl start mysqld
1
2
(3 登录MySQL
i.方式一
mysql -u root -p
1
然后输入密码(刚刚获取的临时密码)

ii.方式二
进入mysql数据库(uroot是用户名,proot是密码)

/home# mysql -uroot -proot
/home# mysql -root -XXXX
1
2
iii.若登录不了,则进行以下配置,跳过登录验证
重置密码的第一步就是跳过MySQL的密码认证过程,方法如下

vim /etc/my.cnf
1
在文档内找到[mysqld]文本段,按下i键进入编辑
在后面任意一行添加以下命令用来跳过密码验证的过程

skip-grant-tables
1

按下Esc键,输入:wq并回车以保存并关闭文件

(4 登录成功后修改密码
i.方式一
注:把password换成你自己想要设置的数据库密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
1
ii.方式二
set password=password("password");
1
以上两种方法如果提示Unknown column ‘password’ in ‘field list’,那就说明mysql数据库下已经没有password这个字段了,password字段改成了authentication_string,所以重新修改为以下命令

update mysql.user set authentication_string=password('root') where user='root';
1
(5 开启远程控制
MySQL默认是没有开启远程控制的,必须添加远程访问的用户,即默认是只能自己访问,别的机器是访问不了的

i.方式一
连接服务器

mysql -u root -p
1
看当前所有数据库

show databases;
1
进入mysql数据库

use mysql;
1
查看mysql数据库中所有的表

show tables;
1
查看user表中的数据

select Host, User,authentication_string from user;
1
修改user表中的Host

update user set Host='%' where User='root';
1
说明: % 代表任意的客户端,可替换成具体IP地址。

最后刷新一下

flush privileges;
1
ii.方式二
使用 grant 命令
grant all privileges on 数据库名.表名 to 创建的用户名(root)@"%" identified by “密码”;
"数据库名.表名"如果写成.代表授权所有的数据库,@后面是访问mysql的主机IP地址,%代表任意
例如以下命令

grant all privileges on . to root@"192.168.1.1" identified by "password";
1
然后刷新刚才的内容

flush privileges;
1
(6 远程连接MySQL
推荐使用Navicat连接MySQL,相当方便,而且可以直接把你的数据库sql文件加载到远程服务器的数据库,方便管理

新建一个MySQL连接

输入相关信息,还可以点击左下角测试连接

四、把JavaWeb项目上传到云服务器
1.把JavaWeb项目打成一个war包
这里以IntelliJ IDEA为例,在菜单栏依次选择File–>Project Structure–>Artifacts,点击上面的+号,选择Web Application:Archive–>For’xxx:war expolded’,右侧的Output directory是最后war包的生成地址

确定之后,在点击菜单栏的Build–>Build Artifacts,选择刚才的artifacts进行build.

完成之后就能在刚才的文件夹中找到war包

2.把war包上传到云服务器
使用文件传输软件(在这里以Xftp为例,其他软件类似),输入主机IP地址,用户名和密码进入文件传输界面

登录之后依次打开/usr/local/tomcat/webapps,然后把war包上传到这里(支持直接拖拽)

3.远程连接主机并解压war包
(1 远程连接
使用VNC远程连接软件连接到云服务器(这里以Xshell为例,直接从网页连接也行),输入IP地址,用户名和密码,登录之后,依次进入/usr/local/tomcat/webapps目录下

cd /usr/local/tomcat/webapps
1

如图已经有你项目的war包了,接下来进行解压

(2 解压war包
注意:把xxx换成你的war包名称,-d后面是你想要解压到的文件夹名称,推荐和项目同名

unzip xxx.war -d xxx
1
等待解压完成,进入/bin文件夹暂时关闭Tomcat服务

cd ../bin
sh shutdown.sh
1
2

4.通过文件传输软件修改server.xml文件
通过Xftp软件进入/usr/local/tomcat/conf目录,对server.xml进行编辑

(1 修改端口号
其中Connector port=“xx”,可以修改为你想要访问的端口(记得在ECS云服务器安全组入方向添加你所需要的端口号),我用的是80端口(HTTP协议默认端口),这样访问网站的时候就不需要加端口号,直接输入网址就可以访问

如果不修改,使用默认的8080端口,则访问时需要添加端口号,例如http://192.168.1.1:8080

(2 修改Tomcat默认启动项目地址
往下找到Host标签,在内部添加以下一行代码
注意:把xxx修改为自己的项目名称,即解压war包的文件夹名


1
参数说明

path 指出你的访问路径可以为“”或者"/“或者”/下面的子文件夹名称"
docBase路径必须是指向自己的目录
debug 为设定debug的等级0提供最少的信息,9提供最多的信息
reloadable=true时,当web.xml或者class有改动的时候都会自动重新加载不需要从新启动服务
在Web应用的开发和调试阶段,把reloadable设为true,可以方便对Web应用的调试。在Web应用正式发布阶段,把reloadable设为false,可以降低Tomcat的运行负荷,提高Tomcat的运行性能

crosscontext="true"表示配置的不同context共享一个session
修改完成之后返回Xshell远程连接界面,重新开启Tomcat服务器即可

5.开启Tomcat服务器
sh startup.sh

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
5月前
|
弹性计算 运维 应用服务中间件
ECS使用有感
ECS使用有感
|
JSON 数据格式 物联网
HTTP协议接入物联网平台(Getman模拟)
物联网平台通过HTTP连接通信(Getman模拟)
3349 0
HTTP协议接入物联网平台(Getman模拟)
|
7月前
|
消息中间件 缓存 监控
【C++ 观察者模式的应用】跨进程观察者模式实战:结合ZeroMQ和传统方法
【C++ 观察者模式的应用】跨进程观察者模式实战:结合ZeroMQ和传统方法
266 1
|
弹性计算 人工智能 安全
关于ECS的使用
我是人工智能专业的一名学生,由于目前学习的内容需要一台稳定且安全的服务器,老师推荐我们使用ECS。 下面是关于我个人使用ECS云服务器的一些经历。 我是第一次接触云服务器,没有阿里云的相关经验并初次了解,所以我需要通过ECS公网IP地址访问APache服务,此时我发现在阿里云服务器上就有着快速申请IP地址,非常方便,特别适合没有接触过的人使用,同时在操作过程中也让我对系统的关系有了进一步的理解,阿里云系统与其他的系统的不同之处。没有基础的同学可以通过ECS,可以快速掌握云服务器,也可以与其他同学进行交流,在没有足够的经济基础的条件下,我们也可以拥有属于自己的云服务器,可以学习搭建自己的博客。
|
弹性计算 JavaScript 前端开发
使用ECS有感
通过ECS搭建的环境 让我跑起来了原来跑不动的微服务项目。
160 0
使用ECS有感
|
弹性计算 安全 Linux
ECS
使用感受
|
弹性计算 运维 监控
ECS介绍
ESC简短介绍
|
运维 监控 安全
圆桌对话:云时代下,企业运维面临的挑战与机遇
四位企业运维大咖展开对话,讨论“云时代下,企业运维面临的挑战与机遇”。
圆桌对话:云时代下,企业运维面临的挑战与机遇
|
Java
springboot问题记录:java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName.
springboot问题记录:java.lang.IllegalArgumentException: jdbcUrl is required with driverClassName.
684 0
|
监控 应用服务中间件
阿里云轻量应用服务器流量计费说明及收费标准
阿里云轻量应用服务器按流量套餐,每月分配固定的月流量包,超过月流量后需要支付费用,轻量服务器网分享阿里云轻量应用服务器流量套餐计费规则及价格表
509 0
阿里云轻量应用服务器流量计费说明及收费标准
下一篇
DataWorks