首页开发教程常见程序语言的Graviton安装配置及运行指南

常见程序语言的Graviton安装配置及运行指南

2025-04-18 46

生产环境的应用程序语言复杂多样,Graviton目前已经可以适配几乎所有的主流程序语言。下面站长百科主要通过AWS产品介绍常见开发语言(Java、NodeJS、Python、PHP、Ruby、Golang以及Rust)在Graviton的运行环境安装配置。

完成本动手实验后,将掌握如何基于Graviton实例安装配置如下程序语言的运行环境:

  • Java
  • NodeJS
  • Python
  • PHP
  • Ruby
  • Go
  • Rust

一、Amazon EC2环境准备

这里需要启动一个Graviton2实例、一个 x86实例用于后续实验。

启动地址:亚马逊云科技官网

相关阅读:《亚马逊云服务器免费领取教程

(一)创建安全组

1、进入EC2 控制台,点击安全组。

常见程序语言的Graviton安装配置及运行指南

2、创建安全组,开放 80、8080、9080、5000-5010 端口,源设置为 “0.0.0.0/0”;开放 22 端口,源设置为MyIP。

常见程序语言的Graviton安装配置及运行指南

(二)启动Graviton实例

1、进入EC2控制台,点击“启动新实例”。

常见程序语言的Graviton安装配置及运行指南

2、在EC2配置向导中选择 AMI 为 Amazon Linux 2 5.10 版本,系统架构设置 ARM ,机型选择 m6g.large 并调整根卷为 50G 后启动实例,安全组使用前面步骤创建的安全组

常见程序语言的Graviton安装配置及运行指南

3、更新系统及安装必要的工具。

sudo yum update -y
sudo yum install git -y
sudo reboot

4、下载本次实验中需要使用的源码到EC2实例

$ git clone https://github.com/nwcd-samples/GravitonDemo.git
$ cd GravitonDemo
$ ls -l
总用量 8
...
-rw-rw-r-- 1 ec2-user ec2-user 1925 2月 17 06:12 godemo.go
drwxrwxr-x 4 ec2-user ec2-user 92 2月 17 06:12 graviton-demo-php
drwxrwxr-x 3 ec2-user ec2-user 71 2月 17 06:12 graviton-demo-rust
drwxrwxr-x 4 ec2-user ec2-user 90 2月 17 06:12 graviton-demo-springboot
-rw-rw-r-- 1 ec2-user ec2-user 3272 2月 17 06:12 socketdemo_python2.py
...

(三)启动x86实例

如有兴趣对比不同架构下相同应用代码的运行情况,可以启动一个 m5.large 实例,操作步骤在此略过。

(四)登录到实例

1、从 windows 登录到实例

#使用 powershell 通过 ssh 命令连接到实例

2、从 Mac 登录到实例

#使用 Terminal 通过 ssh 命令连接到实例

二、动手实验

(一)在 Graviton 运行 Java 应用程序

1、搭建运行环境

登录到服务器,运行如下命令安装 Java 11 运行环境

$ sudo yum install java-11-amazon-corretto -y
$ java -version
openjdk version "11.0.18" 2023-01-17 LTS
OpenJDK Runtime Environment Corretto-11.0.18.10.1 (build 11.0.18+10-LTS)
OpenJDK 64-Bit Server VM Corretto-11.0.18.10.1 (build 11.0.18+10-LTS, mixed mode)

通过以上步骤,即可完成 Java 11 环境搭建。

2、运行应用程序

获取项目代码并启动应用程序

cd ~/GravitonDemo
cd graviton-demo-springboot
./mvnw package

java -jar target/graviton2-demo-0.0.1-SNAPSHOT.jar

通过浏览器访问上一步部署的应用(http://EC2-IP:8080,留意 Web 服务端口在安全组已开放)。运行正常的话,可以看到 Web 应用返回了实例相关的信息。

常见程序语言的Graviton安装配置及运行指南

至此已完成了基于 Graviton 的 Java 应用部署运行,可以留意到操作上与在 X86 环境一致。

(二)在Graviton运行NodeJS应用程序

1、搭建运行环境

登录到服务器运行以下命令安装配置 nodejs 运行环境

#安装nodejs

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
、~/.nvm/nvm.sh
nvm install 16

查看 nodejs 版本

node -e "console.log('Running Node.js ' + process.version)"

通过以上步骤即可完成 nodejs 运行环境的安装。

2、运行应用程序

切换到 node 工程,并启动 demo 程序

#进入nodejs demo目录
$ cd ~/GravitonDemo/graviton-demo-nodejs

# 更新npm版本
$ npm install -g npm

# 安装依赖
$ npm install

#运行demo程序
$ node nodejsdemo.js

浏览器中查看运行效果(请确保 EC2 安全组已开放应用服务器端口,比如 5004)。运行正常的话,可以看到 Web 应用返回了实例相关的信息。

在浏览器中输入http://服务器ip:5004 查看运行效果

浏览器显示效果

常见程序语言的Graviton安装配置及运行指南

(三)在Graviton运行Python应用程序

1、搭建运行环境

Amazon Linux2 系统已经包含了python3 运行环境,通过以下命令查看版本。

查看 Python 版本

$ python3 --version

2、运行应用程序

切换到 Python 工程,并启动 demo 程序

#进入Pythondemo目录
$ cd ~/GravitonDemo/graviton-demo-python

#运行demo程序
$ python3 python3demo.py

浏览器中查看运行效果 (请确保 EC2 安全组已开放应用服务器端口,比如 5003)。运行正常的话,可以看到 Web 应用返回了实例相关的信息。

在浏览器中输入http://服务器ip:5003 查看运行效果

浏览器显示效果

常见程序语言的Graviton安装配置及运行指南

(四)在Graviton运行PHP应用程序

1、搭建运行环境

登录服务器,运行如下命令安装 PHP 运行环境

$ sudo amazon-linux-extras enable php8.1
$ sudo yum clean metadata
$ sudo amazon-linux-extras install php8.1 nginx1 -y
$ php -v
PHP 8.1.14 (cli) (built: Jan 20 2023 18:11:37) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.14, Copyright (c) Zend Technologies

通过以上操作,我们完成了 Graviton 环境的 PHP + Nginx 环境部署。

2、运行应用程序

切换到目录,复制 PHP 项目资源至 nginx 目录

$ cd ~/GravitonDemo/graviton-demo-php
$ sudo cp -r assets /usr/share/nginx/html/
$ sudo cp index.php /usr/share/nginx/html/
$ sudo service nginx restart

通过浏览器访问上一步部署的应用(请确保 EC2 安全组已开放应用服务器端口,比如80)。运行正常的话,可以看到 Web 应用返回了实例相关的信息。

在浏览器中输入http://服务器ip:80 查看运行效果

至此,已完成了基于 Graviton 的 PHP 应用部署运行,可以留意到操作上与在 X86 环境一致。

常见程序语言的Graviton安装配置及运行指南

(五)在 Graviton 运行 Ruby 应用程序

1、搭建运行环境

登录到服务器运行以下命令安装配置 ruby 运行环境

#安装ruby
sudo amazon-linux-extras list | grep ruby
sudo amazon-linux-extras install -y ruby3.0

常见程序语言的Graviton安装配置及运行指南

查看 ruby 版本

ruby -v

通过以上步骤即可完成 ruby 运行环境的安装。

2、运行应用程序

切换到 ruby 工程,并启动 demo 程序

#进入ruby demo目录
$ cd ~/GravitonDemo/graviton-demo-ruby

#运行demo程序
$ ruby rubydemo.rb

浏览器中查看运行效果 (请确保 EC2 安全组已开放应用服务器端口,比如 5001)。运行正常的话,可以看到 Web 应用返回了实例相关的信息。

在浏览器中输入http://服务器ip:5001 查看运行效果

浏览器显示效果

常见程序语言的Graviton安装配置及运行指南

(六)在 Graviton 运行 Go 应用程序

1、搭建运行环境

登录到服务器运行以下命令安装配置 go 运行环境

#安装golang
$ sudo yum install -y golang

#配置golang 
$ mkdir -p ~/GoWorkSpace

$ echo "export GOPATH=$HOME/GoWorkSpace">>~/.bashrc
$ echo "export PATH=$PATH:$GOPATH/bin">>~/.bashrc

$ source ~/.bashrc

#可选
#如上一步配置golang 环境变量出错请执行以下命令后退出连接,重新登录
#出错信息“manpath: can't set the locale: make sure $LC * and $LANG are correct”

$ echo "LANG=en_US.utf-8" | sudo tee -a /etc/environment
$ echo "LC_ALL=en_US.utf-8" | sudo tee -a /etc/environment

查看 golang 版本

go version

通过以上步骤即可完成 go 运行环境的安装和配置。

2、运行应用程序

切换到 golang 工程,并启动 demo 程序

#编译golang代码
$ cd ~/GravitonDemo/graviton-demo-go
$ go install godemo.go

#运行demo程序
$ ~/GoWorkSpace/bin/godemo

浏览器中查看运行效果 (请确保 EC2 安全组已开放应用服务器端口,比如 5000)。运行正常的话,可以看到 Web 应用返回了实例相关的信息。

在浏览器中输入http://服务器ip:5000 查看运行效果

浏览器显示效果

常见程序语言的Graviton安装配置及运行指南

(七)在 Graviton 运行 Rust 应用程序

1、搭建运行环境

登录到服务器,运行如下命令安装 Rust 运行环境。

# 安装gcc
$ sudo yum install gcc -y

# 安装rust最新版本
$ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
...
You can uninstall at any time with rustup self uninstall and
these changes will be reverted.
Current installation options:
default host triple: aarch64-unknown-linux-gnu
default toolchain: stable (default)
profile: default
modify PATH variable: yes

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>1

$ source "$HOME/.cargo/env"
$ cargo -V
cargo 1.67.1 (8ecd4f20a 2023-01-10)

通过以上步骤,即可完成 Rust 1.67.1 环境搭建。

2、运行应用程序

切换到 Rust 工程,并启动 Web 服务

$ cd ~/GravitonDemo/graviton-demo-rust
$ cargo run
Compiling cookie_store v0.12.0
Compiling h2 v0.3.15
Compiling time v0.3.17
Compiling rand v0.8.5
Compiling webpki-roots v0.21.1
Compiling local-channel v0.1.3
Compiling qstring v0.7.2
Compiling num_cpus v1.15.0
Compiling encoding_rs v0.8.32
Compiling mime v0.3.16
Compiling language-tags v0.3.2
Compiling chunked_transfer v1.4.1
Compiling httpdate v1.0.2
Compiling base64 v0.21.0
Compiling ureq v1.5.5
Compiling actix-server v2.2.0
Compiling actix-web-codegen v4.1.0
Compiling serde_urlencoded v0.7.1
Compiling actix-macros v0.2.3
Compiling time v0.1.45
Compiling iana-time-zone v0.1.53
Compiling json v0.12.4
Compiling chrono v0.4.23
Compiling ec2_instance_metadata v0.3.0
Compiling zstd v0.12.3+zstd.1.5.2
Compiling actix-http v3.3.0
Compiling actix-web v4.3.0
Compiling graviton2-demo-rust v0.1.0 (/home/ec2-user/rust-graviton2-demo)
Finished dev [unoptimized + debuginfo] target(s) in 2m 12s
Running `target/debug/graviton2-demo-rust`

通过浏览器访问上一步部署的应用 (请确保 EC2 安全组已开放应用服务器端口,比如 5006)。运行正常的话,可以看到 Web 应用返回了实例相关的信息。

在浏览器中输入http://服务器ip:5006 查看运行效果

浏览器显示效果

常见程序语言的Graviton安装配置及运行指南

至此,已完成了基于 Graviton 的 Rust 应用部署运行,可以留意到操作上与在 X86 环境一致。

三、清理实验环境

在所有实验完毕后,请留意停止或者终止实验中用到的 EC2 实例,以免产生不必要的费用。

相关推荐:

Amazon Lightsail上启动cPanel & WHM实例教程

如何搭建个人网盘(35GB免费存储空间)

亚马逊云科技Amazon EC2部署DeepSeek-R1蒸馏模型教程

  • 广告合作

  • QQ群号:4114653

温馨提示:
1、本网站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。邮箱:2942802716#qq.com(#改为@)。 2、本站原创内容未经允许不得转裁,转载请注明出处“站长百科”和原文地址。

相关文章