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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 Tair(兼容Redis),内存型 2GB
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后等待几分钟再去访问。

相关实践学习
借助OSS搭建在线教育视频课程分享网站
本教程介绍如何基于云服务器ECS和对象存储OSS,搭建一个在线教育视频课程分享网站。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情:&nbsp;https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
域名解析 人工智能 弹性计算
DeepSeek服务器繁忙解决方法:使用阿里云一键部署DeepSeek个人网站!
通过阿里云一键部署DeepSeek个人网站,解决服务器繁忙问题。学生用户可领取300元代金券实现0成本部署,普通用户则可用99元/年的服务器。教程涵盖从选择套餐、设置密码到获取百炼API-KEY的全流程,助您快速搭建专属大模型主页,体验DeepSeek、Qwen-max、Llama等多款模型,无需代码,最快5分钟完成部署。支持绑定个人域名,共享亲友使用,日均成本仅约1元。
265 10
|
19天前
|
人工智能 安全 Shell
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
Jupyter MCP服务器基于模型上下文协议(MCP),实现大型语言模型与Jupyter环境的无缝集成。它通过标准化接口,让AI模型安全访问和操作Jupyter核心组件,如内核、文件系统和终端。本文深入解析其技术架构、功能特性及部署方法。MCP服务器解决了传统AI模型缺乏实时上下文感知的问题,支持代码执行、变量状态获取、文件管理等功能,提升编程效率。同时,严格的权限控制确保了安全性。作为智能化交互工具,Jupyter MCP为动态计算环境与AI模型之间搭建了高效桥梁。
82 2
Jupyter MCP服务器部署实战:AI模型与Python环境无缝集成教程
|
12天前
|
弹性计算 Linux 网络安全
阿里云服务器租用流程参考:四种常见租用方式图文操作教程
阿里云服务器怎么租用?流程是怎样的?比较常见的租用方式主要有四种,分别是云服务器 ECS 产品页自定义租用、一键租用、云市场租用和活动租用,本文将详细介绍四种阿里云服务器的租用方式,并通过图文教程,帮助用户轻松完成阿里云服务器的租用流程。
|
1月前
|
弹性计算 安全 网络安全
从搭建到防护:阿里云服务器购买后密码设置、安全组规则、安全加固流程参考
阿里云经常推出各类云服务器相关活动,让更多用户以更实惠的价格买到心仪的云服务器。然而,购买到云服务器仅仅是第一步。为了确保云服务器能够正常运行并承载您的应用,购买之后还需要进行一系列的配置和优化工作。本文将详细介绍在阿里云活动中购买云服务器后,您必须完成的几个关键步骤,助您快速上手并充分利用云服务器的强大功能。
|
2月前
|
存储 弹性计算 安全
阿里云服务器四种购买方式解析:自定义、快速、活动、云市场镜像选购流程参考
阿里云服务器主要的购买方式有自定义购买、快速购买、通过活动购买、通过云市场镜像页面购买这四种购买方式。然而,面对阿里云服务器多样化的购买方式和配置选项,有些新手用户并不清楚他们的区别及具体流程,因此可能不知道哪种方式更适合自己。本文将详细解析阿里云服务器的四种主流购买方式的适用场景及购买流程,帮助用户轻松选择最适合自己的购买途径。
|
2月前
|
存储 弹性计算 Linux
阿里云服务器购买流程参考:快速、自定义、活动三种购买方式详解与流程指南
对于初次接触阿里云服务器的用户来说,选择合适的购买方式并了解详细的购买流程至关重要,阿里云提供了快速购买、自定义购买和活动购买等多种购买方式,以满足不同用户的需求。本文将为大家展示阿里云服务器的三种主要购买方式:快速购买、自定义购买以及通过活动购买,以供大家了解具体的流程,帮助用户轻松上手,快速搭建高效、稳定的云端环境。
137 10
|
3月前
|
JavaScript 应用服务中间件 nginx
Vue项目部署:如何打包并上传至服务器进行部署?
以上就是Vue项目打包及部署的方法,希望对你有所帮助。描述中可能会有一些小疏漏,但基本流程应该没有问题。记住要根据你的实际情况调整对应的目录路径和服务器IP地址等信息。此外,实际操作时可能会遇到各种问题,解决问题的能力是每一位开发者必备的技能。祝你部署顺利!
527 17
|
2月前
|
存储 弹性计算 容灾
阿里云服务器ECS详细购买流程【新手购买手册】
本文详细介绍了阿里云服务器ECS的购买全流程,包括付费类型、地域选择、网络及可用区配置、实例规格、镜像系统、存储设置(系统盘与数据盘)、快照服务、公网IP与带宽配置、安全组规则设定以及登录凭据设置等关键步骤。以自定义购买为例,帮助用户根据实际需求选择合适的配置,如长时间使用建议包年包月模式,地域选择遵循就近原则降低延迟,实例规格依据性能需求挑选,同时提供带宽计费模式对比和安全组基础配置指导。通过清晰的图文说明,让用户轻松完成阿里云服务器的选购与部署。
559 6
|
3月前
|
Docker Python 容器
Docker——阿里云服务器使用Docker部署python项目全程小记
本文记录了我在阿里云服务器上使用Docker部署python项目(flask为例)的全过程,在这里记录和分享一下,希望可以给大家提供一些参考。
331 0
|
3月前
|
弹性计算
【已解决】Matomo本地SMTP配置可以发邮件,但部署到阿里云ECS就发不了邮件
在阿里云ECS上使用Matomo和PHPMailer发送邮件时遇到问题,邮件无法发出且接口调用Pending。经过排查,发现是ECS安全组未开放25/465端口,导致SMTP请求无法正常通信。解决方法为在安全组中配置并开放25/465端口,从而恢复邮件发送功能。

热门文章

最新文章