阿里云服务器部署项目流程

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
简介: 本文主要讲解阿里云服务器的部署,如何选择配置等

准备工作

如果你要使用阿里云,那么你必须要注册一个阿里云账号,否则你是无法购买到阿里云服务器的。

点击:注册阿里云账号

在注册页面,输入用户名,手机号,密码和重复密码,然后点击注册

image.gif 编辑

注册完以后,去到阿里云个人中心,做一下实名认证。点击:实名认证入口

我一般推荐用户选择企业实名,因为现在很多业务都是跟企业相关的,而且个人实名的阿里云也不会开企业发票啊。

image.gif 编辑

1.连接服务器,准备环境

利用XShell连接远程云服务器,准备Jdk、mysql、tomcat、redis的安装

1.1设置服务器防火墙

开放以下端口

Redis : 6379端口

Mysql : 3306端口

HTTP : 80端口

HTTPS : 443端口

SSH : 22端口

image.gif 编辑

1.2去官网下载安装包,上传到云服务器

Tomcat 8 :Tomcat 8 Software Downloads

Mysql :MySQL :: Download MySQL Yum Repository

Redis:Downloads - Redis

上传至云服务器然后解压

tar -xvzf redis-5.0.5.tar.gz
tar -xvzf apache-tomcat-8.5.43.tar.gz

image.gif

1.3安装JDK

[root@iz2ze488eeqkbsq8cxntxbz ~]# yum list | grep jdk       查看yum里的JDK版本 
 
[root@iz2ze488eeqkbsq8cxntxbz ~]# yum install java-1.8.0-*     安装JDK1.8
 
[root@iz2ze488eeqkbsq8cxntxbz ~]# java -version       安装成功
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

image.gif

1.4安装MySQL

[root@iz2ze488eeqkbsq8cxntxbz ~]# rpm -Uvh mysql80-community-release-el7-3.noarch.rpm 
 
安装用来配置Mysql的yum源的rpm包
 
[root@iz2ze488eeqkbsq8cxntxbz ~]# yum install mysql-community-server
 
安装Mysql
 
[root@iz2ze488eeqkbsq8cxntxbz ~]# service mysqld start
Redirecting to /bin/systemctl start  mysqld.service
 
启动Mysql
 
[root@iz2ze488eeqkbsq8cxntxbz ~]# ps -ef | grep mysqld
mysql     3131     1  9 01:57 ?        00:00:01 /usr/sbin/mysqld
root      3178  2353  0 01:57 pts/0    00:00:00 grep --color=auto mysqld
 
查看Mysql进程
 
[root@iz2ze488eeqkbsq8cxntxbz ~]# grep 'temporary password' /var/log/mysqld.log
2019-08-08T17:57:03.766499Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: fm;v-i#nj0oH
   
查看Mysql自动生成的密码
 
[root@iz2ze488eeqkbsq8cxntxbz ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 9
Server version: 8.0.17
 
用初始密码登录Mysql
 
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Hr980526';
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'Hr980526!'
    -> ;
Query OK, 0 rows affected (0.01 sec)
 
修改密码  密码需要大小写字母数字以及特殊符号混合 否则提示密码不符合策略
 
mysql> create user 'lzx'@'%' identified by 'Hr980526!';
Query OK, 0 rows affected (0.01 sec)
 
创建一个新用户供客户端连接
 
mysql> grant select,insert.update,delete on *.* to 'lzx'@'%';
Query OK, 0 rows affected (0.01 sec)
 
赋权限给新用户
 
mysql> show grants for 'lzx'@'%';
+----------------------------------------------------------+
| Grants for lzx@%                                         |
+----------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE ON *.* TO `lzx`@`%` |
+----------------------------------------------------------+
1 row in set (0.00 sec)
 
查看权限
 
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
 
立即生效

image.gif

云服务器安装的8.0Mysql,本机5.6Mysql,由于加密方式问题,可能导致本地连接云服务器Mysql失败

image.gif 编辑

image.gif 编辑

登录云服务器数据库,执行以下命令即可:

[root@iz2ze488eeqkbsq8cxntxbz ~]# mysql -uroot -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 30
Server version: 8.0.17 MySQL Community Server - GPL
 
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
 
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
 
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
 
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Hr980526!';
Query OK, 0 rows affected (0.01 sec)

image.gif

1.5安装Redis

[root@iz2ze488eeqkbsq8cxntxbz ~]# ls
apache-tomcat-8.5.43  mysql80-community-release-el7-3.noarch.rpm  redis-5.0.5
 
进入redis解压后的目录
 
[root@iz2ze488eeqkbsq8cxntxbz ~]# cd redis-5.0.5
 
利用make命令将redis源代码编译
 
[root@iz2ze488eeqkbsq8cxntxbz redis-5.0.5]# make
 
修改配置文件
 
[root@iz2ze488eeqkbsq8cxntxbz redis-5.0.5]# ls
00-RELEASENOTES  CONTRIBUTING  deps     Makefile   README.md   runtest          runtest-moduleapi  sentinel.conf  tests
BUGS             COPYING       INSTALL  MANIFESTO  redis.conf  runtest-cluster  runtest-sentinel   src            utils
[root@iz2ze488eeqkbsq8cxntxbz redis-5.0.5]# vim redis.conf 
 
将daemonize改为yes  后台启动
 
# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes
 
将bind 127.0.0.1 注释掉  开放远程连接
 
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#bind 127.0.0.1
 
redis测试
 
[root@iz2ze488eeqkbsq8cxntxbz redis-5.0.5]# src/redis-server redis.conf
8842:C 09 Aug 2019 03:31:59.408 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
8842:C 09 Aug 2019 03:31:59.408 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=8842, just started
8842:C 09 Aug 2019 03:31:59.408 # Configuration loaded
[root@iz2ze488eeqkbsq8cxntxbz redis-5.0.5]# src/redis-cli
127.0.0.1:6379> set 'name' 'lzx'
OK
127.0.0.1:6379> get 'name'
"lzx"
127.0.0.1:6379>

image.gif

1.6安装Tomcat8.5

[root@iz2ze488eeqkbsq8cxntxbz bin]# ./startup.sh
Using CATALINA_BASE:   /root/apache-tomcat-8.5.43
Using CATALINA_HOME:   /root/apache-tomcat-8.5.43
Using CATALINA_TMPDIR: /root/apache-tomcat-8.5.43/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /root/apache-tomcat-8.5.43/bin/bootstrap.jar:/root/apache-tomcat-8.5.43/bin/tomcat-juli.jar
Tomcat started.
 
 
解压后,进入tomcat的src的bin目录下 startup命令即可启动

image.gif

2.项目的发布

前面已经完成了服务器和环境的配置,接下来就可以将自己的项目打包发布了。

2.1项目打包

我的项目是IDEA开发的SpringBoot项目,打包过程如下:

  • 添加tomcat依赖
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <!--打包的时候可以不用包进去,别的设施会提供。事实上该依赖理论上可以参与编译,测试,运行等周期。
                            相当于compile,但是打包阶段做了exclude操作-->
            <scope>provided</scope>
        </dependency>

image.gif

修改包类型,打成war包

<groupId>cn.lzx</groupId>
    <artifactId>university_shop</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>war</packaging>

image.gif

修改启动类,继承SpringBootServletInitializer类,重写config方法

@SpringBootApplication
@MapperScan("cn.lzx.university_shop.mapper")
@ImportResource(locations = {"classpath:kaptcha.xml"})
public class UniversityShopApplication extends SpringBootServletInitializer {
 
    public static void main(String[] args) {
        SpringApplication.run(UniversityShopApplication.class, args);
    }
 
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(UniversityShopApplication.class);
    }
}

image.gif

设置打包之后包名(可选)

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <configuration>
                    <warName>o2o</warName>
                </configuration>
            </plugin>

image.gif

完成以上设置后,利用maven打包,即可在项目目录下生成target文件夹,里面存放了生成的war包。

如果之前打过包,需要先maven clean一下,然后maven package打包。

image.gif 编辑

2.2项目发布

  • 启动云服务器的tomcat,然后将war包放在tomcat/webapps目录

image.gif 编辑

过几秒钟,tomcat会自动将该war包解压,生成对应的文件夹

image.gif 编辑

然后本机浏览器输入云服务器IP/域名+项目路径即可访问

image.gif 编辑

至此,项目发布完成,可以在公网进行访问,对云服务器也可以购买域名进行域名绑定。

3.注意事项

  • 3.1项目发布后,本机无法访问?请求超时?

购买的云服务器配置较低,tomcat也没有进行调优,启动较慢,可以启动tomcat后等待几分钟再去访问。

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
7天前
|
弹性计算 监控 负载均衡
|
26天前
|
监控 安全 Linux
RHEL 环境下 Subversion 服务器部署与配置
【10月更文挑战第18天】在RHEL环境下部署Subversion服务器需依次完成安装Subversion、创建版本库、配置服务器、启动服务、客户端连接及备份维护等步骤。确保遵循安全最佳实践,保障数据安全。
|
1天前
|
弹性计算 开发工具 git
2分钟在阿里云ECS控制台部署个人应用(图文示例)
作为一名程序员,我在部署托管于Github/Gitee的代码到阿里云ECS服务器时,经常遇到繁琐的手动配置问题。近期,阿里云ECS控制台推出了一键构建部署功能,简化了这一过程,支持Gitee和GitHub仓库,自动处理git、docker等安装配置,无需手动登录服务器执行命令,大大提升了部署效率。本文将详细介绍该功能的使用方法和适用场景。
2分钟在阿里云ECS控制台部署个人应用(图文示例)
|
8天前
|
PHP 数据库 数据安全/隐私保护
布谷直播源码部署服务器关于数据库配置的详细说明
布谷直播系统源码搭建部署时数据库配置明细!
|
14天前
|
弹性计算 安全 网络安全
阿里云服务器租用流程,四种阿里云服务器租用方式图文教程参考
阿里云服务器可以通过自定义租用、一键租用、云市场租用和活动租用四种方式去租用,不同的租用方式适合不同的用户群体,例如我们只是想租用一款配置较低且可以快速部署应用的云服务器,通常可以选择一键租用或者云市场租用,本文为大家展示不同租用方式的适合对象以及租用流程,以供初次租用阿里云服务器的用户参考和选择。下面是阿里云服务器租用的图文操作步骤。
|
17天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
154 2
|
17天前
|
NoSQL Linux PHP
|
18天前
|
弹性计算 数据库连接 Nacos
阿里云ECS服务器在docker中部署nacos
docker pull nacos 失败,docker部署nacos遇到的问题,nacos数据库连接,nacos端口映射
77 1
|
23天前
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
37 1
|
1天前
|
存储 分布式计算 固态存储
阿里云2核16G、4核32G、8核64G配置云服务器租用收费标准与活动价格参考
2核16G、8核64G、4核32G配置的云服务器处理器与内存比为1:8,这种配比的云服务器一般适用于数据分析与挖掘,Hadoop、Spark集群和数据库,缓存等内存密集型场景,因此,多为企业级用户选择。目前2核16G配置按量收费最低收费标准为0.54元/小时,按月租用标准收费标准为260.44元/1个月。4核32G配置的阿里云服务器按量收费标准最低为1.08元/小时,按月租用标准收费标准为520.88元/1个月。8核64G配置的阿里云服务器按量收费标准最低为2.17元/小时,按月租用标准收费标准为1041.77元/1个月。本文介绍这些配置的最新租用收费标准与活动价格情况,以供参考。
下一篇
无影云桌面