亚马逊 EC2服务器下部署java环境

这篇具有很好参考价值的文章主要介绍了亚马逊 EC2服务器下部署java环境。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. jdk 1.8 安装

1.1 下载jdk包

官网 Java Downloads | Oracle

 tar.gz 包 下载下来

亚马逊 EC2服务器下部署java环境,服务器,java,aws,服务器,运维

 1.2 本地连接 服务器

我用的是亚马逊的ec2 系统是 ubuntu 的

ssh工具是 Mobaxterm ,

公有dns + 创建实例时的秘钥 链接 Mobaxterm

亚马逊 EC2服务器下部署java环境,服务器,java,aws,服务器,运维

亚马逊 EC2服务器下部署java环境,服务器,java,aws,服务器,运维

 因为使用的 ubuntu 所以登录的 名称 就是 ubuntu 

然后 在切换 root 权限 

login as: ubuntu
 

ubuntu@ip-172-31-xx-xx:~$ sudo su
root@ip-172-31-xx-xx:/home/ubuntu#

 1.3 本地 文件上传到 服务器中

我的是把 文件传到 /home/ubuntu 文件夹上了

root@ip-172-31-xx-xx:/home/ubuntu# pwd
/home/ubuntu

然后 上传下载的文件

亚马逊 EC2服务器下部署java环境,服务器,java,aws,服务器,运维

1.4  解压+配置路径

解压

tar -zxvf 压缩包名称

 删除压缩包

 rm -f  压缩包

 配置环境变量  (在这里改全局都会生效的)

vim /etc/profile

 按 i 进入编辑,在profile文件最后面添加如下内容,之后 esc  +  :wq  保存 

export JAVA_HOME=/home/ubuntu/jdk1.8.0_381  #jdk安装目录 
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

通过命令source /etc/profile让profile文件立即生效 

source /etc/profile 

 2.安装mysql

借鉴Ubuntu安装MySQL_wavehaha的博客-CSDN博客

2.1 使用apt命令

apt 是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。

apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

apt 命令执行需要超级管理员权限(root)。

root@ip-172-31-xx-xx:/home/ubuntu# sudo apt update
Hit:1 http://us-east-2.ec2.archive.ubuntu.com/ubuntu focal InRelease
Get:2 http://us-east-2.ec2.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:3 http://us-east-2.ec2.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
Get:4 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB]
Get:5 http://us-east-2.ec2.archive.ubuntu.com/ubuntu focal-updates/main amd64 Packages [2723 kB]
Get:6 http://us-east-2.ec2.archive.ubuntu.com/ubuntu focal-updates/universe amd64 Packages [1097 kB]
Get:7 http://us-east-2.ec2.archive.ubuntu.com/ubuntu focal-updates/universe Translation-en [262 kB]
Get:8 http://security.ubuntu.com/ubuntu focal-security/universe amd64 Packages [868 kB]
Get:9 http://security.ubuntu.com/ubuntu focal-security/universe Translation-en [181 kB]
Fetched 5468 kB in 2s (3183 kB/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
44 packages can be upgraded. Run 'apt list --upgradable' to see them.

2.2 从APT存储库安装MySQL

sudo apt install mysql-server 

在安装过程中,可能会出现[Y / n]问题,输入Y继续

2.3 查看安装的版本 

root@ip-172-31-xx-xx:/home/ubuntu# mysql --version mysql  Ver 8.0.33-0ubuntu0.20.04.4 for Linux on x86_64 ((Ubuntu)) 

2.4 mysql启动,停止和查看状态命令

systemctl start mysql.service

systemctl stop mysql.service

systemctl status mysql.service

root@ip-172-31-xx-xx:/home/ubuntu# systemctl status mysql.service
● mysql.service - MySQL Community Server
     Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-08-10 12:33:40 UTC; 3min 56s ago
   Main PID: 57314 (mysqld)
     Status: "Server is operational"
      Tasks: 37 (limit: 1141)
     Memory: 355.3M
     CGroup: /system.slice/mysql.service
             └─57314 /usr/sbin/mysqld

Aug 10 12:33:39 ip-172-31-7-90 systemd[1]: Starting MySQL Community Server...
Aug 10 12:33:40 ip-172-31-7-90 systemd[1]: Started MySQL Community Server.

2.5 初始化mysql

mysql_secure_installation

 按提示 输入 y/n 就行 

我发现我的使用的是 空密码运行的 ,我还在研究怎么设置密码..

2.6 重置密码

尝试使用 以下代码修改密码,我发现失败了,还是免密

 mysql> alter user 'root'@'localhost' identified by 'sdasfaf33333!

2.7 查看mysql进程

2.7.1 查看mysql进程

ps -ef | grep mysql

2.7.2 查看端口监听状态

如果有 netstat 命令 就不用执行安装工具了

apt install net-tools

netstat -alnt | grep 3306

 2.8 卸载mysql

1.使用 apt-get 命令卸载 MySQL:
        sudo apt-get remove --purge mysql-server mysql-client mysql-common

2.删除 MySQL 的配置文件和数据:
        sudo rm -rf /etc/mysql/ /var/lib/mysql/

3.清除 MySQL 相关的依赖:
        sudo apt-get autoremove

4.清除残留文件和目录:
        sudo find / -iname 'mysql*' -exec rm -rf {} \;
————————————————
版权声明:本文为CSDN博主「m0_56349886」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_56349886/article/details/130751157

2.9 mysql中新建用户并分权限

2.9.1 创建新用户

     create user  'username'@'%' identified by 'password'

2.9.2 分权限 

     grant all on *.*  to 'username'@'%';

2.9.3 查看用户

 mysql> select user,host from mysql.user;

亚马逊 EC2服务器下部署java环境,服务器,java,aws,服务器,运维

 2.9.4 登录

这个安装完root是免密登录的,暂时未找到设置密码好使的方式

曲线救国一下

自己设置一个用户和密码

root@ip-172-31-xx-xx:/home/ubuntu# mysql -u 自己的账户 -p

Enter password: 自己的密码

 3. 安装nginx

查看是否安装了nginx 反向代理服务器

root@ip-172-31-xx-xx:/home/ubuntu# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx /usr/share/man/man8/nginx.8.gz

3.1 更新资源并安装

 sudo apt-get update                更新资源

 sudo apt-get install nginx        下载nginx

 nginx -v                                   查看nginx版本

3.2 启动nginx

sudo service nginx start           启动

sudo service nginx status        查看状态

3.3 nginx 启动命令

sudo service nginx enable          开机自动启动

sudo service nginx disable         禁止开机自动启动

sudo service nginx stop              停止

sudo service nginx restart          重启

nginx                     启动命令,什么也不返回就对了

nginx -s stop         停止命令什么也不返回就对了

3.4 查看nginx

然后使用自己的 aws中的 ipv4 就可以看到 nginx 的页面了,表示成功了

3.5 配置位置

whereis nginx        查看nginx的路径

/etc/nginx              是配置文件位置

3.6 配置内容

# user 用户名 用户组;
# 或者省略用户组,此时默认使用与用户名同名的用户组
user www-data;

#worker进程工作数设置,一般来说CPU有几个,就设置几个,或者设置为N-1也行
worker_processes auto;

#设置nginx进程 pid
pid /run/nginx.pid;

#include 引入外部配置,提高可读性,避免单个配置文件过大
include /etc/nginx/modules-enabled/*.conf;

#设置工作模式
events {
        # 每个worker允许连接的客户端最大连接数
        worker_connections 768;
        # multi_accept on;
}

#http 是指令块,针对http网络传输的一些指令配置
http {

        ##
        # Basic Settings
        ##

        #sendfile使用高效文件传输,提升传输性能。启用后才能使用tcp_nopush,是指当数据表累积一定大小后才发送,提高了效率。
        sendfile on;
        tcp_nopush on;
        tcp_nodelay on;

        #keepalive_timeout设置客户端与服务端请求的超时时间,保证客户端多次请求的时候不会重复建立新的连接,节约资源损耗。
        keepalive_timeout 65;
        types_hash_max_size 2048;
        # server_tokens off;

        # server_names_hash_bucket_size 64;
        # server_name_in_redirect off;

        include /etc/nginx/mime.types;
        default_type application/octet-stream;

        ##
        # SSL Settings
        ##

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
        ssl_prefer_server_ciphers on;

        ##
        # Logging Settings
        ##

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;

        ##
        # Gzip Settings
        ##

        #gzip启用压缩,html/js/css压缩后传输会更快
        gzip on;

        # gzip_vary on;
        # gzip_proxied any;
        # gzip_comp_level 6;
        # gzip_buffers 16 8k;
        # gzip_http_version 1.1;
        # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

        ##
        # Virtual Host Configs
        ##

        include /etc/nginx/conf.d/*.conf;
        include /etc/nginx/sites-enabled/*;



#mail {
#       # See sample authentication script at:
#       # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript
#
#       # auth_http localhost/auth.php;
#       # pop3_capabilities "TOP" "USER";
#       # imap_capabilities "IMAP4rev1" "UIDPLUS";
#
#       server {
#               listen     localhost:110;
#               protocol   pop3;
#               proxy      on;
#       }
#
#       server {
#               listen     localhost:143;
#               protocol   imap;
#               proxy      on;
#       }
#}

#server可以在http指令块中设置多个虚拟主机
#listen 监听端口
#server_name localhost、ip、域名
#location 请求路由映射,匹配拦截
#root 请求位置
#index 首页设置

    server {
        listen       80;             # 自定义端口
        listen       3.137.188.196;  # 服务器的ipv4地址
        server_name  sunkxxxx.top;   #域名
        root         /home/ubuntu/project/dist;   #前端项目dist包的位置

        location / {
                try_files $uri $uri/ /index.html; 配置的路由vue只有一个html
                index index.html index.htm;
        }
    }
}

 3.7 校验和重启

填写的server需要在 http 的大括号之内才可以不然会报错

nginx -t                              //效验

nginx -s reload                  //重启生效

wget 127.0.0.1:9000         //测试端口是否通

3.8 防火墙

ubuntu中 使用 sudo ufw status 命令查看当前防火墙状态

inactive状态是防火墙关闭状态 active是开启状态

sudo ufw enable         开启防火墙

sudo ufw disable        关闭防火墙

3.9 服务器里面要开放自定定义的端口

sgr-065a5f4668c4ab1cb IPv4 所有流量 全部 全部 0.0.0.0/0

sunkxxxx.top    这回就可以查看自己的页面了

4. 安装Tomcat

 tomcat官网

4.1 解压

tar -zxf apache-tomcat-x.x.xx.tar.gz

4.2 存放的位置 下载一个文件 放到指定目录中

root@ip-172-31-xx-xx:/home/ubuntu/tomcat/apache-tomcat-9.0.64/bin# pwd
/home/ubuntu/tomcat/apache-tomcat-9.0.64/bin
root@ip-172-31-xx-xx:/home/ubuntu/tomcat/apache-tomcat-9.0.64/bin# ls
bootstrap.jar                 commons-daemon.jar  makebase.sh       tomcat-juli.jar
catalina-tasks.xml            configtest.bat      setclasspath.bat  tomcat-native.tar.gz
catalina.bat                  configtest.sh       setclasspath.sh   tool-wrapper.bat
catalina.sh                   daemon.sh           shutdown.bat      tool-wrapper.sh
ciphers.bat                   digest.bat          shutdown.sh       version.bat
ciphers.sh                    digest.sh           startup.bat       version.sh
commons-daemon-native.tar.gz  makebase.bat        startup.sh

4.3 启动

./startup.sh

4.4 报错

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program 

 4.5 解决报错

vim catalina.sh

最上边添加

export JAVA_HOME=/home/ubuntu/jdk1.8.0_381 #jdk安装目录

4.6 在 setclasspath.sh 添加java配置 

vim setclasspath.sh

export JAVA_HOME=/home/ubuntu/jdk1.8.0_381  #jdk安装目录 
export JRE_HOME=${JAVA_HOME}/jre

  4.7 启动

root@ip-172-31-xx-xx:/home/ubuntu/tomcat/apache-tomcat-9.0.64/bin# ./startup.sh
Using CATALINA_BASE:   /home/ubuntu/tomcat/apache-tomcat-9.0.64
Using CATALINA_HOME:   /home/ubuntu/tomcat/apache-tomcat-9.0.64
Using CATALINA_TMPDIR: /home/ubuntu/tomcat/apache-tomcat-9.0.64/temp
Using JRE_HOME:        /home/ubuntu/jdk1.8.0_381
Using CLASSPATH:       /home/ubuntu/tomcat/apache-tomcat-9.0.64/bin/bootstrap.jar:/home/ubuntu/tomcat/apache-tomcat-9.0.64/bin/tomcat-juli.jar
Using CATALINA_OPTS:
Tomcat started.

http://3.137.xxx.xxx:8080/  就可以登录查看了

5. sql导入

5.1 导出数据库

从本地数据库软件中导出 .sql 的文件

5.2  创建after文件夹并上传到服务器上

 root@ip-172-31-7-90:/home/ubuntu/project/after/

 亚马逊 EC2服务器下部署java环境,服务器,java,aws,服务器,运维

5.3  登录服务器的sql

mysql -u root -p

 5.4 创建 一个数据库

create database mall_ams;

 5.5 使用数据库并导入

use mall_ams;

 source /home/ubuntu/project/after/mall_ams.sql

5.6 显示数据

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mall_ams           |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.01 sec) 

 
mysql> show tables;
+---------------------+
| Tables_in_mall_ams  |
+---------------------+
| ams_admin           |
| ams_admin_role      |
| ams_login_log       |
| ams_permission      |
| ams_role            |
| ams_role_permission |
+---------------------+
6 rows in set (0.00 sec)

 6. 后端项目打包 .jar

6.1 pom.xml

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.6.0</version>
                <configuration>
                    <mainClass>cn.skx.csmall.passport.CsmallPassportApplication</mainClass>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>7</source>
                    <target>7</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

 6.2 properties配置

#部署环境
spring.datasource.url=jdbc:mysql://3.137.188.196:3306/mall_ams?useUnicode=true&characterEncoding=utf-8&serveTimezone=Asia/Shanhai&useSSL=false

6.3 linux运行jar包

java -jar csmall-passport-0.0.1-SNAPSHOT.jar文章来源地址https://www.toymoban.com/news/detail-642360.html

到了这里,关于亚马逊 EC2服务器下部署java环境的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 亚马逊云国际站代理商:亚马逊云搭建代理ip服务器教程

    目录 亚马逊云国际站代理商:亚马逊云搭建代理ip服务器教程 亚马逊云国际站代理商:亚马逊云搭建代理IP服务器教程 1. 什么是代理服务器? 2. 为什么选择AWS亚马逊云? 3. 使用AWS亚马逊云搭建代理IP服务器的步骤 总结 简介: 飞机@luotuoemo 本文由(亚马逊国际站代理商:【聚

    2024年04月10日
    浏览(57)
  • 亚马逊AWS上怎么创建Linux 服务器?操作难不难?

    AWS(Amazon Web Services)是全球领先的云服务器提供商之一。你可以使用 AWS 平台在一分钟内设置完服务器。在 AWS 上,你可以微调服务器的许多技术细节,如 CPU 数量,内存和磁盘空间,磁盘类型(更快的 SSD 或者经典的 IDE)等。关于 AWS ***的一点是,你只需要为你使用到的服务付费。

    2024年04月16日
    浏览(45)
  • 亚马逊云服务器aws ssh无法登录的解决问题记录

    一、涉及命令 二、AWS亚马逊云EC2服务器使用Root登录方法(在debian系统上操作成功) 三、SSH密钥丢失,更换密钥方法 解决连接到 EC2 实例时的“服务器拒绝我们的密钥”错误 四、可疑方法 1、将具有 SSH 访问权限的新用户账户添加到 Amazon EC2 Linux 实例 2、使用 EC2 串行控制台

    2024年02月06日
    浏览(46)
  • 领取的AWS亚马逊云服务器到期会扣费的问题解决办法。

    本篇文章主要讲解,领取的AWS亚马逊服务器到期后会持续扣费问题的解决办法。 作者:任聪聪 日期:2023年6月8日 关于aws服务器一年免费期限到期后扣费的问题,网络上的文章并不是很全,故此我通过个人的经验进行了如下的教程整理。 我将通过一些比较常见的问题对大家一

    2024年02月08日
    浏览(57)
  • 一站式解决方案:体验亚马逊轻量服务器/VPS的顶级服务与灵活性

    文章目录 一、什么是轻量级服务器/VPS 二、服务器创建步骤 三、服务器连接客户端(私钥登录) 四、使用服务器搭建博客网站 五、个人浅解及总结 一、什么是轻量级服务器/VPS 亚马逊推出的轻量级服务器/VPS :是一种基于云计算技术的虚拟服务器解决方案。它允许用户在云端创

    2024年02月05日
    浏览(62)
  • ​ 云计算的尽头是轻量应用服务器?带你了解亚马逊Lightsail的卓越优势

    很多小伙伴可能都在好奇,轻量应用服务器有什么特点?为什么相较于普通的云服务器,很多用户现在都更青睐于轻量应用服务器?这个“轻”就是它独特的优势所在。轻量应用服务器以其“开箱即用、应用优质、轻松上手、投入划算、运维便捷和稳定可靠”等特点,成为了中

    2024年04月27日
    浏览(42)
  • 在 AWS EC2 Linux 服务器上部署Gunicorn

    在 AWS EC2 Linux 服务器上部署 Flask 应用的步骤类似,你也可以使用 Gunicorn。以下是具体步骤: 1. 连接到你的 AWS EC2 实例。你可以通过 SSH 进行连接,如: ``` ssh -i /path/to/your/key.pem ec2-user@your-ec2-ip-address ``` 2. 在你的环境中安装 Gunicorn,如果你还没有安装 Flask,你也应该安装它:

    2024年02月06日
    浏览(43)
  • 如何在亚马逊 SageMaker 进行 Stable Diffusion 模型在线服务部署

    随着人工智能技术的发展与完善,AI Generated Content (AIGC,人工智能自动生成内容) 在内容的创作上为人们的工作和生活带来前所未有的帮助,具体表现在能够帮助人类提高内容生产的效率,丰富内容生产的多样性、提供更加动态且可交互的内容。AIGC 相关技术可以在创意、表现

    2023年04月13日
    浏览(64)
  • AWS实操-EC2-创建购买linux(centos)EC2服务器

    启动实例 在AWS EC2控制界面,进行单击启动实例以创建和配置虚拟机。 配置实例 在该界面进行配置服务器名称、选择AMI镜像等。 选择浏览其他AMI,选择centos镜像,下文以centos7.6为例 在搜索框输入对应系统版本,建议选择经过验证提供商的AMI镜像 选择合适业务的EC2配置 选择

    2024年04月16日
    浏览(68)
  • 如果被亚马逊AWS扣费,应该怎么办啊?(亚马逊AWS服务还是很棒的)

    这两天登录到亚马逊云账号中发现,下个月的未出账单为100多刀,咦,怎么会这样啊!然后我马上*度了一下,被亚马逊云扣费应该怎么办,按照网友经验,我试了一下,还真管用,现在把这个过程记录下来,如果有需要这方面帮助的朋友,可以借鉴试试看。希望能帮到各位看

    2024年02月11日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包