java搭建阿里云服务器环境(java环境+mysql+tomcat)和部署 JavaWeb 项目到云服务器(十分详细)

article/2025/8/15 20:05:51

文章有不当之处,欢迎指正,如果喜欢微信阅读,你也可以关注我的微信公众号:好好学java,获取优质学习资源。

购买一系列的东西

其实就是花钱买块区域,服务器,域名,云解析,花了好多money。。。

一、租服务器

百度搜索阿里云

进入官网首页,点击登录

进入登录页面,可以使用邮箱登录或者注册

进入注册页面,填写注册信息

登录成功,进入主页,点击云服务ECS,点击购买推荐或者选购配置

根据实际情况选择产品,可能没有货,那么就需要更改购买条件

如果是新用户,购买前要实名认证,根据提示完成认证后才能下订单

二、购买域名

点击域名/域名列表

点击域名注册

查询域名

列表中会显示该域名是否已经被注册,没有被注册的域名后面有加入清单按钮

加入清单后,就可以去结算了

云解析基础版可以选购,选好了点击立即购买即可

点击解析,进入解析页面,不知道怎么用就点新手引导设置

点击设置网站解析的立即修改,将域名与ip关联上即可

设置好了就会看到

三、备案

点击备案,这个好麻烦啊,我备案还有那么多事。。

进入备案页面

点击登录备案系统,进入登录页面(这个是备案系统,单独的)

搭建阿里云服务器环境

我进行远程连接服务器的时候,用的是SecureCRT和filezilla这连个,一个是上传文件用的,一个是连接用的。

一、使用SecureCRT连接centos。

注意刚刚买到服务器后第一次登陆可能登陆不进去,这个时候只需要到控制台重启一下即可。

然后需要输入密码,如果没有密码到控制台修改密码

二、安装JDK。

Java 的 JDK 有 2 套,一是 Oracle 的 JDK,另一个就是 OpenJDK 了。我选择的是 OpenJDK 来作为 Java 的开发环境。本人是使用 SecurityCRT 操作云服务器上的 CenOS6.5 来进行安装配置的。

2.1、查看可用软件包

CentOS 6.X 和 5.X 自带有 OpenJDK runtime environment(openjdk),我们使用 yum 来查看 CenOS 下可用的 open-jdk 软件包列表,执行命令:yum search java | grep -i –color JDK
1

2.2、安装

查看到了所有可用的安装包后,我们选择自己需要的进行安装。我选择的是 Java8。执行命令:yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
2
3

看到 Complete 后就知道安装完成了,那么现在来测试一下是否安装成功。执行命令:java -version
4
 

注:也可以使用 javac 来作为测试命令,网上有些说还要设置java环境变量,其实到这里已经就可以了,不用再到etc/profile中设置java环境。

三、安装tomcat。

centos其实可以使用最简单的yum install tomcat就可以了。这里我就介绍我的方法。

3.1、准备资源

3.1.1、filezilla登录

登陆上去之后,直接拖到右边就可以了。

我们需要先准备好 Tomcat8 的压缩包。本人是先在本地下载好 Tomcat8,然后利用 FileZilla 传到远程服务器下。
11

3.2、解压

使用 tar 命令,对 Tomcat 的压缩包进行解压。执行命令:tar -zxvf apache-tomcat-8.0.0.RC3.tar.gz

3.3、移动

解压完毕后,我们需要将解压后的目录移动到 /usr/local 目录下。执行命令:mv apache-tomcat-8.0.0 /usr/local
12

3.4、重命名

为方便记忆以及日后的使用,我们将该文件夹使用 mv 命令重命名为 tomcat8.执行命令:mv apache-tomcat-8.0.0 tomcat8
13

3.5、配置 JAVA-HOME

其实这步也可以不用的,因为你可以直接到bin目录下面启动就行。

编辑 /usr/local/tomcat/bin/catalina.sh 文件,配置 JAVA-HOME 变量,让 Tomcat 可以搜索到 JDK 的目录,与其一起工作。
14

3.6、启动服务

现在,我们来启动 tomcat 来试试。使用 cd 命令切换到 /usr/local/tomcat8/bin/ 目录下,然后执行命令:./startup.sh
15

3.6、开放端口

启动好服务后,我们还需要开放 8080 端口。注:HTTP 协议默认使用 80 端口,而 Tomcat 默认使用 8080 端口。
16

3.7、测试

上面的配置完成后,检查一下 Tomcat 的运行情况。执行命令:ps -ef | grep tomcat
17
接着,打开浏览器,测试下。本地机器测试则在地址栏上输入 http://localhost:8080;若是远程机器,则输入 http://远程服务器IP:8080 来查看结果。
18

三、安装mysql


这个是我费时间最久的,因为出现了一下问题ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock

解决方法:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock

如果你走运喷到了这个问题,那么点进去看看我的解决方法

3.1、安装mysql

我们使用 yum 来安装 mysql,执行命令 yum install mysql-server. 若机器上没有安装好,就会自动安装,出现 Complete 就表示成功安装。若是已经安装,就会出现如下情况:
yun-mysql1

3.2、查看安装

我们可以使用 rpm 命令来查看 mysql 的安装情况:执行命令 rpm -qa | grep mysql*
yun-mysql2

3.3、启动服务

安装好了,那我们就试着启动一下 mysql 服务好了:执行命令 service mysqld start
注意:是 mysqld,而不是 mysql

yun-mysql3

3.4、测试 mysql

mysql 的服务已经启动好了,那么我们来测试一下,它是否能正确运行了?启动好后,我们来进入 mysql 中试着操作一下。执行命令:mysql
yun-mysql4
注释:\q 命令指关闭连接,退出 mysql

四、配置 mysql

正确安装后,我们需要对 mysql 进行一些测试,方便我们日后的工作。

4.1、开机自启

我们首先来设置 mysql 开机自启。为什么要设置呢?因为每次关机重启后,mysql 服务都会被停止,处于 stop 状态,这时要使用 mysql,就得执行 service mysqld start 命令,比较繁琐,所以设置一下开机自启,可以减少麻烦。

我们利用 chkconfig 命令来设置 mysql 开机自启:执行命令 chkconfig mysqld on
yun-mysql5

通过 chkconfig –list 命令可以看到各服务的情况,从中可以看到 mysql 的情况:运行级别为2、3、4、5的情况下都是on(开启)的状态

[各状态的解释]等级0表示:表示关机等级1表示:单用户模式等级2表示:无网络连接的多用户命令行模式等级3表示:有网络连接的多用户命令行模式等级4表示:不可用等级5表示:带图形界面的多用户模式等级6表示:重新启动

4.2、开启 3306 端口

对于 mysql,我们知道一般都是使用 3306 端口。在我们 Java 程序的数据库连接中,可以看到 jdbc:mysql://localhost:3306/dbname 的语句。因此,在 Linux 下,我们需要开放 3306 端口,以便本机和外部访问 mysql。执行命令:

/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
/etc/rc.d/init.d/iptables save

yun-mysql6

4.3、修改密码

一般而言,我们都会启动密码认证。因此我们给用户设置一下密码。进入 mysql,执行命令:update user set password=password(‘密码’) where user=’用户名’; 以此来给用户设置密码

yun-mysql7
yun-mysql8

4.4、配置远程登录

有一种需要,叫远程登录mysql。因此,我们也配置一下 mysql 的远程登录。该设置,同样是需要先进入 mysql 数据库,然后再执行命令 grant all privileges on . to ‘root’@’%’ identified by ‘root’ with grant option;
yun-mysql9

命令详解:# 将所有权限赋予给 root 用户,允许其进行远程登录grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;参数解释:① all privileges:赋予所有的权限给指定用户,也可以替换为赋予某一具体的权限② *.*:所赋予的权限是针对全部数据库的全部表。若指定某一具体数据库的具体表,如:thinkphp_user③ root:表示给root用户授权④'%':表示不限制连接的 IP。若想只允许某特定的 IP 进行远程登录,可以改为具体 IP。⑤ by 'root':root 用户的密码

设置好远程登录后,我们测试一下是否可以远程登录。在本地机器执行远程登录命令如下:

# 连接时需要验证密码
mysql -h 远程机器IP地址 -P 3306 -u 用户名 -p thinkphp
# 在登录的时候直接写上密码,p 和密码不能分开
mysql -h 远程机器IP地址 -P 3306 -u 用户名 -p密码 thinkphp

五、部署javaweb项目

我们要部署 Java Web 项目,那就至少得将项目上传到云服务器。其实过程很简单,基本上也就是下面三个步骤
① 打包上传:将项目打包成 war 文件,然后利用 FileZilla 传到远程服务器
② 部署:使用 cp 或 mv 命令,将 war 文件移动到 Tomcat 目录下的 webapps 下
③ 重启 Tomcat,访问我们的项目

5.1、上传项目war包

5.2、移动到tomcat的webapps目录中

在这个过程中,我们需要注意。因为一般而已,作为一个 Web 项目,我们肯定是有数据库的使用的。那么数据库部分怎么办呢?其实,只需要将我们已有的数据库转储为 sql 文件,然后将 sql 文件上传到云服务器上执行即可。以 mysql 为例,如下操作:

5.3、Mysql 案例

转储为 sql 脚本,并上传:先在本地将我们项目使用的数据库转为 sql 文件,上传到云服务器上
mysql-thinkphp1

执行 sql:然后进入 mysql 中执行该 sql 文件
mysql-thinkphp2

发现执行的时候有错。原因是我们此时的 mysql 中没有 thinkphp 这个数据库。我们查看下当前的数据库,执行命令 show databases;
mysql-thinkphp3

发现确实没有 thinkphp 这个数据库,因此我们创建一个,执行命令 create database thinkphp;
mysql-thinkphp4
再次执行
mysql-thinkphp5

发现还是报错。原因是我们当前使用的是 mysql 这个数据库,而不是 thinkphp 数据库。因此我们切换到 thinkphp 数据库,执行命令 use thinkphp;,然后再一次执行 sql 文件:
mysql-thinkphp6

查看结果
mysql-thinkphp7

部署项目:将项目部署到 Tomcat 容器中,还是使用 cp 或 mv 命令将 war 文件移到 /usr/local/tomcat8/webapps/ 下,重启 Tomcat,再访问即可。

到这里完整的部署过程就到这里了,希望对大家有帮助。


http://chatgpt.dhexx.cn/article/3yMHY7ZQ.shtml

相关文章

手把手教你配置阿里云服务器搭建java web网站

写在前面 出于好奇,我用学生优惠租了一台阿里云服务器,打算做一些Java web的开发,但是毕竟是第一次接触这样的东西,还是比较懵逼,在这个过程中遇到了一些问题(肯定会遇到问题的),但…

使用grunt压缩合并混淆JS脚本

fro from: https://www.cnblogs.com/sybboy/p/4831635.html 折腾一两天,终于学会使用grunt压缩合并混淆JS脚本,小激动,特意记录一下spm一点意外收获 很长时间没有更新博客了,实在是太忙啦...0.0 ,以下的东西纯粹是记录…

JavaScript审计

前言 Javascript (.js) 文件一般存储的是客户端代码,Javascript 文件可帮助网站执行某些功能,例如监视单击某个按钮的时间,或者当用户将鼠标移到图像上,甚至代表用户发出请求(例如检索信息)时。有时开发人…

如何在线替换并调试网页上的 JS 代码

调试代码使用代理替换代码在线调试总结 调试代码 当我们需要调试网页上的 JS 代码时,可以使用 Chrome 游览器上的开发者工具的 Sources 项进行断点调试。 在代码数目栏处点击,即可加上断点,根据加入的断点进行判断,该断点若是…

用JS开发安全工具:端口扫描器

用JS开发安全工具:端口扫描器 如标题所述,本文用Javascript实现一个端口扫描器,用于检测指定IP的电脑哪些端口是开放的,而且扫描速度非常快。 在Node.js中运行,效果如下: 源码: function scan…

JavaWeb后端代码自动生成工具V2.0.0

背景介绍 Author:yuxue {个人业余开发项目,主要解决个人在开软件开发工作中遇到的一些头疼问题} 问题1:各种密码太多,记不住问题2:系统太多,环境太多,看着都头疼,要用的时候找半天…

goto混淆语句解密工具,php代码还原

通过使用goto解密工具,你可以轻松应对多种加密场景。下面列举了几个具体问题案例,让你更好地了解它的实际应用: 1. 微擎2c解密: 当你在微擎中遭遇2c加密时,可能会遇到无法阅读和修改代码的困境。但是,有了…

javascript服务器_服务器端JavaScript会流行吗?

javascript服务器 JavaScript is probably the most widely-used programming language on the planet – nearly every website has a few lines. However, the language is also one of the most misunderstood and often confuses experienced developers: it is not Java, …

python编写代码工具_python编码工具

广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 编码后字节序列被发送给终端,假若终端设置的编码和str编码不一致,终端就会显示出乱…

vue打包js文件混淆加密保护

需求 部署到服务器上的vue项目在网页F12之后能看到源码,vue文件啦,js文件啦,都能看到,连我的注释都能看到,这能随便给别人看? 环境 vue 3 vue cli 4 webpack 4 解决方案 方案一 工具:“u…

【C/C++服务器开发】什么是服务器?服务器分类及构建一个简单的服务器系统

文章目录 一、服务器的定义二、服务器的分类1.外形2.CPU指令集3.用途1.web服务器WEB简介协议WWW简介发展和特点服务器特点工作原理 2.应用服务器定义分类静态动态 概括区别应用服务器和WEB服务器的区别Web型应用程序型 3.文件服务器简介功能分类集中式文件服务器(1&…

js混淆 webpack-obfuscator

js混淆之webpack-obfuscator 混淆是什么 混淆是故意制造混淆代码的行为,即让人难以理解的源代码,类似于加密,但计算机能够识别理解代码并且执行它。混淆可以用来隐藏来自外部世界的业务逻辑,也可以实现压缩。 简单的原理&#…

使用AST进行JavaScript反混淆(2022年增值税发票查验js)

背景 多年前学过龙书,一来当时本身也没看懂,二来时间也长也差不多都忘记了。直到最近有 deobfuscate 问题才看了下AST。 说实话,一旦稍微了解AST和熟悉了 Babel 接口,deobfuscate 实在不是啥难事。 反混淆总结放前面。 注意事…

html混淆压缩,JavaScript的压缩和混淆

JavaScript的压缩和混淆 我们都知道JavaScript是一种在客户端浏览器中执行的解释型语言。浏览器以纯文本的形式下载JavaScript,然后在需要的时候执行JavaScript代码。 通过使用浏览器的查看源代码功能,用户总是能够阅读JavaScript的源代码,该…

安卓混淆及反编译工具

目录 安卓混淆及反编译工具... 1 Eclipse编译混淆... 2 项目文件project.properties. 2 服务器编译混淆... 2 Android.mk. 2 混淆规则... 3 Java代码的混淆... 3 Proguard混淆规则汇总... 3 Native的混淆... 4 资源文件的混淆... 4 混淆的常见配置... 4 哪些不应该…

一款JavaScript 混淆(Obfuscator)工具(Tool)的研究(一)

1.研究使用的工具及网站 https://obfuscator.io 主要研究对象,主要是研究此网站的各种混淆方法及破解办法。 http://jsnice.org/ 用来格式化代码,方便调试。 notepad 编辑代码。 某浏览器 具有谷歌内…

stm32与sim900之GPRS通信(电脑串口与SIM900通信)

注意: 1 sim900在进行GPRS通信的时候最大电流可以到90MA.瞬间电流SIM900模块可能高达2A4V,即输入端电流瞬间值可能高达740mA12V,故给模块选择电源的时候,要能满足瞬间电流峰值。 以上这段话摘录自正点原子的SIM900用户手册,也就是说你在用SI…

GSM模块(SIM900)详解

GSM模块(SIM900) 0. GSM概述1. 常用的GSM模块2. SIM900系列3. STM32使用SIM900系列通信方法AT指令示例代码 0. GSM概述 GSM(全球系统移动通信)是一种数字移动通信技术,是世界上最常用的移动通信标准之一。它是由欧洲电…

常见的防火墙技术介绍

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt280 防火墙是一个系统或一组系统,它在内网与Internet间执行一定的安全策略。典型的防火墙应包含如下模块中的一个或多个:包过滤路由器、应用层网关(或代理服务器…

linux平台下防火墙iptables原理

转载自:http://www.cnblogs.com/ggjucheng/archive/2012/08/19/2646466.html linux平台下防火墙iptables原理(转) iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包…