
3种运行oci-arm-host-capacity的方法本地Cron、GitHub Actions与Web服务器部署【免费下载链接】oci-arm-host-capacityThis script allows to bypass Oracle Cloud Infrastructure Out of host capacity error immediately when additional OCI capacity will appear in your Home Region / Availability domain.项目地址: https://gitcode.com/gh_mirrors/oc/oci-arm-host-capacityoci-arm-host-capacity是一款专为解决Oracle Cloud Infrastructure (OCI) Out of host capacity错误设计的实用工具能帮助用户在家庭区域或可用域出现额外容量时立即自动部署实例。本文将详细介绍三种高效运行该工具的方法让你轻松获取Oracle Cloud免费的4核ARM CPU和24GB内存资源。准备工作环境配置与依赖安装在开始部署之前需要完成基础环境配置和依赖安装这是确保工具正常运行的前提条件。系统要求与依赖项oci-arm-host-capacity需要PHP 7.4至8.3版本以及Composer包管理器支持。首先确保你的系统已安装这些依赖# 检查PHP版本 php -v # 检查Composer是否安装 composer --version获取项目代码通过以下命令克隆项目仓库到本地git clone https://gitcode.com/gh_mirrors/oc/oci-arm-host-capacity cd oci-arm-host-capacity安装依赖包使用Composer安装项目所需的依赖库composer install配置环境变量复制环境变量示例文件并根据你的OCI账户信息进行修改cp .env.example .env编辑.env文件填写必要的OCI配置信息包括区域、用户ID、租户ID、密钥指纹、私钥路径等关键参数。配置文件结构如下部分关键参数OCI_REGIONeu-frankfurt-1 OCI_USER_IDocid1.user.oc1..aaaaaaaax72***kd3q OCI_TENANCY_IDocid1.tenancy.oc1..aaaaaaaakpx***qmpa OCI_KEY_FINGERPRINTb3:a5:90:***:b0:8d:1c OCI_PRIVATE_KEY_FILENAME/path/to/oracleidentitycloudservice_***.pem OCI_SUBNET_IDocid1.subnet.oc1.eu-frankfurt-1.aaaaaaaaahbb***faq OCI_IMAGE_IDocid1.image.oc1.eu-frankfurt-1.aaaaaaaa23z***v6wa OCI_SSH_PUBLIC_KEYssh-ed25519 AAAAC3N***o2U userexample.com图OCI配置文件预览包含各种必要的参数设置方法一本地Cron定时任务部署对于拥有持续运行的本地服务器或个人电脑的用户使用Cron定时任务是最简单直接的部署方式。设置Cron作业创建日志文件并设置适当权限touch /path/to/oci-arm-host-capacity/oci.log chmod 777 /path/to/oci-arm-host-capacity/oci.log获取PHP可执行文件路径which php通常输出为/usr/bin/php编辑Cron任务EDITORnano crontab -e添加以下行以每分钟执行一次脚本* * * * * /usr/bin/php /path/to/oci-arm-host-capacity/index.php /path/to/oci-arm-host-capacity/oci.log保存并退出编辑器在nano中按F2然后按Y确认最后按Enter。验证Cron任务检查Cron任务是否成功添加crontab -l观察日志文件确认脚本是否正常运行tail -f /path/to/oci-arm-host-capacity/oci.log成功运行时日志会显示类似以下的输出图脚本成功运行时的输出信息显示实例创建详情方法二GitHub Actions自动化部署利用GitHub Actions可以实现云端自动化运行无需本地服务器持续在线特别适合没有长期运行设备的用户。配置GitHub仓库Fork项目仓库到你的GitHub账户在仓库设置中添加必要的Secrets与.env文件中的参数对应图在GitHub仓库设置中添加必要的OCI配置密钥需要添加的主要Secrets包括OCI_REGIONOCI_USER_IDOCI_TENANCY_IDOCI_KEY_FINGERPRINTOCI_PRIVATE_KEY_FILENAME指向可公开访问的私钥URLOCI_SUBNET_IDOCI_IMAGE_IDOCI_SSH_PUBLIC_KEY等设置工作流文件创建或修改.github/workflows/periodic.yml文件配置定时任务name: OCI Capacity Check on: schedule: - cron: */15 * * * * # 每15分钟运行一次 workflow_dispatch: # 允许手动触发 jobs: check-capacity: runs-on: ubuntu-latest steps: - uses: actions/checkoutv3 - name: Set up PHP uses: shivammathur/setup-phpv2 with: php-version: 8.1 - name: Install dependencies run: composer install - name: Run capacity check script env: OCI_REGION: ${{ secrets.OCI_REGION }} OCI_USER_ID: ${{ secrets.OCI_USER_ID }} OCI_TENANCY_ID: ${{ secrets.OCI_TENANCY_ID }} OCI_KEY_FINGERPRINT: ${{ secrets.OCI_KEY_FINGERPRINT }} OCI_PRIVATE_KEY_FILENAME: ${{ secrets.OCI_PRIVATE_KEY_FILENAME }} OCI_SUBNET_ID: ${{ secrets.OCI_SUBNET_ID }} OCI_IMAGE_ID: ${{ secrets.OCI_IMAGE_ID }} OCI_SSH_PUBLIC_KEY: ${{ secrets.OCI_SSH_PUBLIC_KEY }} OCI_OCPUS: ${{ secrets.OCI_OCPUS }} OCI_MEMORY_IN_GBS: ${{ secrets.OCI_MEMORY_IN_GBS }} OCI_SHAPE: ${{ secrets.OCI_SHAPE }} OCI_MAX_INSTANCES: ${{ secrets.OCI_MAX_INSTANCES }} run: php index.php监控工作流执行提交工作流文件后在GitHub仓库的Actions标签页中可以查看任务执行情况图GitHub Actions工作流执行状态和结果⚠️ 注意根据GitHub使用条款避免设置过于频繁的执行间隔建议至少15分钟以上以免违反GitHub Actions使用政策。方法三Web服务器部署如果你已经拥有运行中的Web服务器可以将工具部署为Web应用通过HTTP请求触发执行。服务器配置将项目文件复制到Web服务器目录cp -r oci-arm-host-capacity /var/www/html/设置适当的文件权限chown -R www-data:www-data /var/www/html/oci-arm-host-capacity chmod -R 755 /var/www/html/oci-arm-host-capacity配置Web服务器以Nginx为例server { listen 80; server_name your-domain.com; root /var/www/html; index index.php; location /oci-arm-host-capacity { try_files $uri $uri/ /oci-arm-host-capacity/index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.1-fpm.sock; } }触发执行方式部署完成后可以通过以下方式触发脚本执行直接访问URLhttp://your-domain.com/oci-arm-host-capacity/index.php使用Curl命令curl http://your-domain.com/oci-arm-host-capacity/index.php设置定时任务调用URL* * * * * curl http://your-domain.com/oci-arm-host-capacity/index.php /path/to/oci.log查看执行结果可以通过访问日志文件或直接查看网页输出来确认执行结果图通过Web服务器执行脚本后的输出结果三种部署方法对比与选择建议部署方法优点缺点适用场景本地Cron配置简单完全控制无外部依赖需要本地设备持续运行有长期开机的电脑或服务器GitHub Actions无需本地设备云端运行易于管理受GitHub使用限制配置相对复杂无长期运行设备熟悉GitHubWeb服务器可通过网络随时访问适合多用户需要维护Web服务器有安全风险已有Web服务器需要远程访问选择建议个人用户且有持续运行的电脑优先选择本地Cron方法熟悉GitHub且需要免维护方案选择GitHub Actions已有Web服务器且需要远程访问选择Web服务器部署常见问题解决与注意事项权限问题如果遇到权限错误确保日志文件和私钥文件有正确的访问权限chmod 777 /path/to/oci.log chmod 600 /path/to/private-key.pem配置验证执行以下命令验证配置是否正确php index.php如果配置正确但遇到Out of host capacity错误属于正常现象工具会持续尝试直到成功。安全注意事项不要将包含敏感信息的.env文件提交到代码仓库私钥文件应设置严格的访问权限GitHub Secrets应定期轮换Web部署时建议添加访问控制或IP限制实例创建后的操作成功创建实例后可以通过OCI控制台为实例分配公网IP图在OCI控制台中为新创建的实例分配公网IP地址然后使用SSH连接到实例ssh -i ~/.ssh/id_rsa opcinstance-public-ip总结oci-arm-host-capacity是获取Oracle Cloud免费ARM资源的强大工具通过本文介绍的三种部署方法——本地Cron、GitHub Actions和Web服务器部署你可以根据自己的实际情况选择最适合的方案。无论选择哪种方法正确配置环境变量和定期监控执行状态都是成功的关键。希望本文能帮助你顺利获取并使用Oracle Cloud的免费ARM资源【免费下载链接】oci-arm-host-capacityThis script allows to bypass Oracle Cloud Infrastructure Out of host capacity error immediately when additional OCI capacity will appear in your Home Region / Availability domain.项目地址: https://gitcode.com/gh_mirrors/oc/oci-arm-host-capacity创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考