ECS

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
.cn 域名,1个 12个月
简介: 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
相关文章
|
存储 弹性计算 人工智能
|
弹性计算 数据库
ECS使用有感
我是一名即将步入社会的大学生,随着网络法等相关专业知识的学习愈发强烈。查询资料时,常常会浏览到制作精美的个人站,因此产生了建设自己个人站的设想,但是由于业余时间少之甚少,同时听闻购买域名与服务器的价格不菲,因此计划一直未能实现
|
存储 弹性计算 安全
ECS初接触
ECS初接触
294 59
|
弹性计算 物联网
ECS
ECS使用体验
|
弹性计算 Linux 数据库
我与ECS
对于ECS的使用体验
|
弹性计算 机器人 开发工具
使用ECS有感
关于我通过“飞天加速计划·高校学生在家实践”活动使用ECS活动有感
使用ECS有感
|
弹性计算 Linux Docker
ECS的使用总结
阿里云非常优秀
|
弹性计算 NoSQL Java
ECS使用
新手的ECS使用体验
119 0
|
弹性计算 IDE 关系型数据库
初识ECS
初识ECS
121 1
|
弹性计算 算法 Ubuntu
‘’寒暑交加‘’之ECS使用
本菜鸟研究生在读2年级,寒假因为疫情,一直蜗居在家,直到现在也是寒假期间,眼看着暑假就要来了,今年是“寒暑交加”的一年呐。没有太多的抱怨,天灾人祸本是不可人为控制,所以就好好把握机会学习吧。因为要用linux搭环境跑代码,可自己的电脑配置又比较低,之前用软件安装了虚拟机,想着用虚拟机也是一样的,怎奈一直蓝屏,虚拟机打开ubuntu界面,一会儿就蓝屏,也是绝了,尝试了一下午,还是无果。突然想到实验室有人之前就说过使用云服务器,所以这次我也来试试,去知乎搜了一下,云服务器厂商还挺多,价格也都参差不齐,但总的来说,还挺贵。突然就看到有一篇讲阿里云服务器的飞天加速针对高校师生可以免费体验,顿时精神抖擞