使用GCP构建Nginx的Web服务器简介
2023年的CYBIRD降临节第10天,由@moffunnya负责。
第9天是由@chikako_ikeda撰写的文章《探索NFC读卡应用的极限》。
我想做一些类似的游戏,就是在NFC卡和读卡应用之间,每隔一段时间用布挡住,直到无法读取为止。
请务必也一并查看这篇文章!
首先
2022年参加公司后,目前在基础架构团队负责环境搭建和运维工作。
平时与AWS接触较多,感觉已经熟悉起来,但与GCP还不熟悉,所以打算从简单的地方开始拉近距离,这次我们将使用GCP搭建Web服务器。
对于刚开始学习GCP的朋友,一起加油吧!
简而言之
本文将按以下步骤依次进行:从简要介绍GCP开始,直至环境的删除。
-
- GCPとは
-
- 基本習得
-
- 準備
-
- ウェブサーバー構築:GCE
-
- nginxインストール
- クリーンアップ
GCP是什么?
GCP即Google Cloud Platform的缩写,是由谷歌提供的云计算服务。谷歌提供的Gmail、Google日历、Youtube等都是基于GCP构建的。类似的服务还包括亚马逊提供的Amazon Web Service和微软提供的Azure等。在处理多个云服务时,如果某个服务在发生故障等情况下无法使用,通过复制等方式可能能够避免陷入困境,因此我个人决定学习一下。
基本习得
在前进的过程中,让我们掌握这些术语!
准备
在准备事前所需的物品中,可以列举三项。
-
- Googleアカウント
-
- クレジットカード
今回は無料枠内で使用するので料金は発生せず、認証用として使用します。
Google Chrome
ダウンロード:https://www.google.com/intl/ja_jp/chrome/
如果能够准备好这些,我们将按照以下步骤继续做准备工作。
-
- GCPアカウント作成
-
- プロジェクト作成
- 予算とアラート設定
创建GCP账号
首先,我们将创建一个GCP帐户。




创建项目

在「项目名称」中输入「larning-for-gcp」(*可选)并点击「创建」。



请按照本次文章的内容在这个项目内进行推进。
设置警报
接下来是警报设置。
为了能够及时察觉到意外的费用,我们将设置当消耗一定的信用额度时触发警报的功能。
从左上角打开菜单,点击“支付”。





准备已经完成了。
建设网页服务器:GCE
我们终于要开始使用GCP的服务来构建服务器了。
在这里我们将使用的服务是Google Compute Engine(GCE)。
GCE是GCP提供的可以使用虚拟机的服务。
虚拟机启动 jī
我們立即開始啟動虛擬機器。
在菜单中选择“计算引擎” -> “虚拟机实例”。



请在下面分别设置“名称”、“区域”、“区域”和“机器类型”。





在创建的虚拟机内,将以命令行方式显示。

安装 Nginx
我们将从显示的命令行安装nginx。
首先要更新软件包。
sudo yum -y update
只要的输出是「完成!」就可以了。
接下来,我们将添加存储库。使用vi命令创建nginx.repo文件。
sudo vi /etc/yum.repos.d/nginx.repo
将以下内容写入已创建的文件中。
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
我会确认是否已创建nginx.repo文件。
cat /etc/yum.repos.d/nginx.repo
[moffunnya00@web01 ~]$ cat /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1
接下来,我们将对仓库进行初始化,并进行加载。
sudo yum clean all
接下来,加载代码库。
sudo yum repolist all
紧接着,我们将安装Nginx。
sudo yum install nginx
如果输出为「Complete!」,则表示确认成功安装。
nginx -v
如果有版本输出,那就没问题。
接下来,将启动nginx。
sudo systemctl start nginx
检查nginx是否已经启动。
sudo systemctl status nginx
如果Active处于活跃(运行)状态,就可以了。
由于当前情况下在停止或启动虚拟机时需要手动启动nginx,因此将其设置为自动启动。
sudo systemctl enable nginx
确认是否设置了自动启动功能。
systemctl is-enabled nginx
如果输出为“enabled”,那就是正确的。

清洁
让我们删除最近创建的资源。如果我们不对未维护的资源进行处理,会对安全性产生负面影响,因此请在最后进行删除。



辛苦了!!
最后
在业务中接触了AWS后,当我接触到GCP时,就会在脑海中自动进行“这是AWS那个东西吗”的转换。但我觉得在养成这种转换习惯之前,最好直接直观地去处理它。此外,由于免费使用期已延长至90天,建议也尝试接触GCP的其他服务!
2023年的CYBIRD Advent Calendar第11天将介绍@cy_yusuke_ito先生关于”使用Embulk从MongoDB迁移到MySQL”的内容。敬请期待!