我想要什么:我想将我的网站从 cpanel 移动到 Google Compute Engine (VM)
我做了什么:安装了 LAMP,网站工作起来很有吸引力,但有一个小问题。
我的问题是什么:电子邮件!在 cPanel 中,我有电子邮件帐户 - http://i.stack.imgur.com/WrYW4.png,但现在如何管理电子邮件。
什么传入的 IMAP 邮件服务器在雷鸟邮件中完成 - http://i.stack.imgur.com/WCDbe.png,好的传出我将通过 smtp.sendgird.com ,但传入?什么服务器。
如果我不清楚,请告诉我,我会重新编写。
我在用 php 连接我的数据库云 sql 时遇到问题。我已经尝试了所有可能的连接方式(pdo、mysqli 和 mysql),但都没有奏效。
我已经为 can sql 实例放置了一个 IPv4,并在允许的网络部分授权了计算引擎 IP。当我尝试从计算引擎连接时
mysql --host=cloud_sql_IP --user=my_user --password
Run Code Online (Sandbox Code Playgroud)
它正在工作,我能够看到表格。
在 php 端,我把这个代码:
$db = mysql_connect(<CLOUD_SQL_IPV4>, 'root', '');
if (!$db){
die('Connect Error (' . mysql_error());
}
Run Code Online (Sandbox Code Playgroud)
我收到“连接错误(权限被拒绝)”
当我尝试这种方式时:
$conn = mysql_connect(":/cloudsql/<COMPUTE_INSTANCE>:<DB>", "root", "");
if (!$conn) {
die('Connect Error (' . mysql_error());
}
Run Code Online (Sandbox Code Playgroud)
我得到:“连接错误(没有这样的文件或目录”
我还应该做什么?
谢谢!
我有 2 个计算引擎实例:
一个跑了半年左右,今天第一次得到:
Err:11 http://packages.cloud.google.com/apt google-cloud-packages-archive-keyring-stretch InRelease The following signatures couldn't be verified because the public key is not available:
Run Code Online (Sandbox Code Playgroud)
另一个我今天刚刚从一个干净的 Debian 9 映像设置,它不允许我 apt-get 安装任何东西:
E: Unable to locate package php7.2-fpm
E: Couldn't find any package by glob 'php7.2-fpm'
E: Couldn't find any package by regex 'php7.2-fpm'
Run Code Online (Sandbox Code Playgroud)
以前没有那个。
如果我在 GCE 中使用来自 Bitnami 的 ElasticSearch 图像,我是否需要一个单独的Memcached 虚拟机,或者最好通过其他方式(在客户端本地或通过 Web 缓存)甚至内置于 ElasticSearch 中使用 Memcached 进行缓存?我是否应该在类似于此示例的 appengine 灵活环境中的 docker 容器中使用 Elasticsearch 和 Memcached 来扩展运行时?
背景是我想升级最初是python2.7 google appengine webapp的项目,但是python3版本的google appengine for python已经弃用了memcached API和ndb search API,所以我正在考虑是否使用实例在带有 ElasticSearch 和/或 Memcached 的 GCE 中,我可以在 python3.8 appengine webapp 和运行 ElasticSearch 的某个实例之间划分服务。我试过了,这是一次很好的体验。
我还准备考虑除 ElasticSearch 之外的其他替代方案(Web UI 是使用语义 UI和自定义 JS 创建的)。迁移从用户模型远webapp2的,我们要利用火力进行用户认证,并保持了Python应用程序引擎,NDB现在,但我们正在考虑从NDB模型移开,因为我们存储的主要数据为用户配置文件(现在可以存储在 Firebase 中)和短期数据(保存在 appengine 数据存储中)。如果这个项目是今天从头开始创建的,我可能会使用 Firebase 来处理所有事情,并通过 API 从前端层直接连接到它,但我明白如果我使用 Firebase
bitnami elasticsearch google-compute-engine google-cloud-platform google-app-engine-python
我的 Debian 服务器上的公共 IP 地址托管在 Google Compute Engine 上。有一段时间没有在控制台中对其进行配置。新 IP 地址反映在 Google Compute Engine 控制台中。我怎样才能找出发生这种情况的原因并防止它再次发生。我没有为支持支付 100 美元/月,所以他们不会让我开支持票,除非它与账单相关。我以前在使用任何其他 Google 计算引擎时从未遇到过这个问题。
我正在关注本教程https://medium.com/@ahmed.dys99/deploying-django-application-on-google-cloud-platform-8eca8f82e7f6我已成功完成所有步骤,但是当我到达使用命令nohup sudo python3 manage.py runserver 0.0.0.0:80我收到消息nohup: ignoring input and appending output to 'nohup.out'。此消息是什么意思,如何让我的网站通过 gpc 成功运行?如果我的应用程序与数据库相关联,我是否需要先使用 gpc 对其进行配置?
所以我使用这个 gcloud 控制台命令从容器映像创建一个实例
gcloud compute instances create-with-container test-instance \
--zone us-xx \
--container-image asia.gcr.io/my-project/my-docker-image \
--container-privileged \
--network my-network \
--subnet my-net-sub \
--create-disk name=test-data,device-name=test-data,auto-delete=yes,size=200GB,type=pd-ssd \
--container-mount-disk name=test-data,mount-path=/mnt/disks/data \
--service-account me@myproject.iam.gserviceaccount.com
Run Code Online (Sandbox Code Playgroud)
它工作正常并创建实例,但它不会安装数据磁盘。为什么?更准确地说,要添加我需要的数据磁盘
如何指定使用ext4创建分区,然后挂载分区部分?
我们的 Google 帐户至少有几个月没有虚拟机投入使用 - 我们可能在 2020 年初或 2019 年的某个时候测试过一个短时间内的虚拟机。该服务已启用,一周前开始出现大量 API 调用:
下面是更具体的图表,显示了正在执行的实际 API 调用,并显示它们是由匿名用户执行的(即不使用 API 密钥)。
为什么这些会突然执行,而我们没有任何活动触发它们?
这个另一个答案表明 Google 执行 API 调用来检查您使用了多少容量,那么 Google 是否有可能每小时检查数百次以查看哪些虚拟机已启动?有大量 Compute Engine API 请求是否正常?
此任务涉及两个 python 脚本。
我当前的任务要求我在 GCP 实例上的 29 个可用区域中的每一个中运行一个很长的过程(每个过程大约需要一两天,这是第一个 python 脚本)。为了尽快完成任务,我尝试在一次性分拆 29 个虚拟机后同时运行每个实例中的每个进程。
由于通过 SSH 手动运行第一个脚本到每个实例非常麻烦,因此我编写了一个python 脚本(第二个脚本),通过 SSH 连接到每个区域的虚拟机并运行我上面提到的第一个脚本。
在不同区域运行第一个脚本的第二个脚本的问题在于,它不会开始在第二个区域的虚拟机中运行第一个脚本,直到它在第一个区域的虚拟机中完成运行,而我需要第二个脚本来运行第一个脚本在每个区域中编写脚本,而无需等待第一个脚本启动的进程结束。
我在第二个脚本中使用 subprocess()在每个虚拟机中运行第一个脚本。
以下代码是第二个脚本:
for zone, instance in zipped_zone_instance:
command = "gcloud compute ssh --zone " + zone + " " + instance + " --project cloud-000000 --command"
command_lst = command.split(" ")
command_lst.append("python3 /home/first_script.py")
subprocess.run(command_lst)
Run Code Online (Sandbox Code Playgroud)
我需要 subprocess.run(command_lst) …
python terminal subprocess google-compute-engine google-cloud-platform
我们正在努力测试内部部署的电子邮件,可能正在考虑放弃使用Google Apps for Email.我们目前在GCE内的项目与我们当前的Google Apps电子邮件帐户相关联.我们是否必须使用Google Apps电子邮件才能使用GCE?如果没有,是否有人知道如何登录GCE Web控制台,因为它目前与我们的Google Apps电子邮件帐户相关联?
我似乎无法找到将项目转换为非谷歌身份验证方法的正确方法.