Hướng dẫn run php as a service - chạy php như một dịch vụ

Với SystemD mới, bạn có thể tạo một dịch vụ.

Bạn phải tạo một tệp hoặc một liên kết symlink trong /etc/systemd/system/, ví dụ. myphpdaemon.service và đặt nội dung như thế này, myphpdaemon sẽ là tên của dịch vụ:

[Unit]
Description=My PHP Daemon Service
#May your script needs MySQL or other services to run, eg. MySQL Memcached
Requires=mysqld.service memcached.service 
After=mysqld.service memcached.service

[Service]
User=root
Type=simple
TimeoutSec=0
PIDFile=/var/run/myphpdaemon.pid
ExecStart=/usr/bin/php -f /srv/www/myphpdaemon.php arg1 arg2> /dev/null 2>/dev/null
#ExecStop=/bin/kill -HUP $MAINPID #It's the default you can change whats happens on stop command
#ExecReload=/bin/kill -HUP $MAINPID
KillMode=process

Restart=on-failure
RestartSec=42s

StandardOutput=null #If you don't want to make toms of logs you can set it null if you sent a file or some other options it will send all PHP output to this one.
StandardError=/var/log/myphpdaemon.log
[Install]
WantedBy=default.target

Bạn sẽ có thể bắt đầu, nhận trạng thái, khởi động lại và dừng các dịch vụ bằng lệnh

systemctl myphpdaemon

Bạn có thể sử dụng máy chủ gốc PHP bằng

0 hoặc chạy nó làm tập lệnh. Sử dụng tập lệnh PHP, bạn nên có một loại "vòng lặp mãi mãi" để tiếp tục chạy.

Ví dụ làm việc:

[Unit]
Description=PHP APP Sync Service
Requires=mysqld.service memcached.service
After=mysqld.service memcached.service

[Service]
User=root
Type=simple
TimeoutSec=0
PIDFile=/var/run/php_app_sync.pid
ExecStart=/bin/sh -c '/usr/bin/php -f /var/www/app/private/server/cron/app_sync.php  2>&1 > /var/log/app_sync.log'
KillMode=mixed

Restart=on-failure
RestartSec=42s

[Install]
WantedBy=default.target

Nếu thói quen PHP của bạn sẽ được thực thi một lần trong một chu kỳ (như diggest), bạn có thể sử dụng script shell hoặc bash để được gọi vào tệp dịch vụ systemd thay vì trực tiếp PHP, ví dụ::

#!/usr/bin/env bash
script_path="/app/services/"

while [ : ]
do
#    clear
    php -f "$script_path"${1}".php" fixedparameter ${2}  > /dev/null 2>/dev/null
    sleep 1
done

Nếu bạn chọn tùy chọn này, bạn nên thay đổi KillMode thành

1 thành các quy trình, bash (chính) và PHP (trẻ em) sẽ bị giết.

ExecStart=/app/phpservice/runner.sh phpfile parameter  > /dev/null 2>/dev/null
KillMode=process

2

Lưu ý: Mỗi lần bạn thay đổi "myphpdaemon.service", bạn phải chạy `systemctl daemon-reload ', nhưng đừng lo lắng nếu bạn không làm, nó sẽ được cảnh báo khi cần thiết.

  • Tổng quan
  • Các giải pháp
  • Các sản phẩm
  • Giá cả
  • Tài nguyên
  • Tài liệu
    • Tổng quan
    • Các giải pháp
    • Các sản phẩm
    • Giá cả
    • Tài nguyên
  • Tài liệu
  • Hướng dẫn
  • Tài liệu tham khảo
  • Mẫu

Ủng hộ Save and categorize content based on your preferences.

Bảng điều khiển

Trước khi bắt đầu

  1. Đăng nhập vào tài khoản Google Cloud của bạn. Nếu bạn chưa quen với Google Cloud, hãy tạo một tài khoản để đánh giá cách các sản phẩm của chúng tôi hoạt động trong các kịch bản trong thế giới thực. Khách hàng mới cũng nhận được 300 đô la tín dụng miễn phí để chạy, kiểm tra và triển khai khối lượng công việc.
  2. Trong bảng điều khiển Google Cloud, trên trang chọn dự án, chọn hoặc tạo dự án Google Cloud.

    Chuyển đến Bộ chọn dự án

  3. Đảm bảo rằng thanh toán được bật cho dự án đám mây của bạn. Tìm hiểu cách kiểm tra xem thanh toán có được bật trong một dự án không.

  4. Cài đặt và khởi tạo Google Cloud CLI.
  5. Trong bảng điều khiển Google Cloud, trên trang chọn dự án, chọn hoặc tạo dự án Google Cloud.

    Chuyển đến Bộ chọn dự án

  6. Đảm bảo rằng thanh toán được bật cho dự án đám mây của bạn. Tìm hiểu cách kiểm tra xem thanh toán có được bật trong một dự án không.

  7. Cài đặt và khởi tạo Google Cloud CLI.
    1. Để đặt dự án mặc định cho dịch vụ chạy đám mây của bạn:
       gcloud config set project PROJECT_ID
      thay thế Project_id bằng tên của dự án bạn đã tạo cho bản khởi động nhanh này.

Viết ứng dụng mẫu

Để viết một ứng dụng trong PHP:

  1. Tạo một thư mục mới có tên

    3 và thay đổi thư mục thành nó:

    mkdir helloworld-php
    cd helloworld-php
    
  2. Tạo một tệp có tên

    4 và dán mã sau vào nó (đảm bảo bạn thêm
    5 vào đầu tệp):

    Mã này đáp ứng các yêu cầu với lời chào "Xin chào thế giới" của chúng tôi. Xử lý HTTP được thực hiện bởi một máy chủ web Apache trong container.

  3. Tạo một tệp mới có tên

    6 trong cùng thư mục với các tệp nguồn. PHP Dockerfile bắt đầu một máy chủ web Apache lắng nghe trên cổng được xác định bởi biến môi trường
    7:

  4. Thêm tệp

    8 để loại trừ các tệp khỏi hình ảnh container của bạn.

Ứng dụng của bạn đã hoàn thành và sẵn sàng để được triển khai.

Triển khai để chạy trên đám mây từ nguồn

QUAN TRỌNG: QuickStart này giả định rằng bạn có vai trò chủ sở hữu hoặc biên tập viên trong dự án bạn đang sử dụng cho QuickStart. Mặt khác, tham khảo các quyền triển khai chạy trên đám mây, quyền xây dựng đám mây và quyền đăng ký tạo tác cho các quyền cần thiết. This quickstart assumes that you have owner or editor roles in the project you are using for the quickstart. Otherwise, refer to Cloud Run deployment permissions, Cloud Build permissions, and Artifact Registry permissions for the permissions required.

Triển khai từ nguồn tự động xây dựng hình ảnh container từ mã nguồn và triển khai nó.

Để triển khai từ nguồn:

  1. Trong thư mục mã nguồn của bạn, triển khai từ nguồn bằng lệnh sau:

    gcloud run deploy

    Nếu được nhắc bật API, hãy trả lời y để bật.y to enable.

    1. Khi bạn được nhắc về vị trí mã nguồn, nhấn Enter để triển khai thư mục hiện tại.

    2. Khi bạn được nhắc về tên dịch vụ, nhấn Enter để chấp nhận tên mặc định,

      9.

    3. Nếu bạn được nhắc bật API đăng ký cổ vật, hãy trả lời bằng cách nhấn

      [Unit]
      Description=PHP APP Sync Service
      Requires=mysqld.service memcached.service
      After=mysqld.service memcached.service
      
      [Service]
      User=root
      Type=simple
      TimeoutSec=0
      PIDFile=/var/run/php_app_sync.pid
      ExecStart=/bin/sh -c '/usr/bin/php -f /var/www/app/private/server/cron/app_sync.php  2>&1 > /var/log/app_sync.log'
      KillMode=mixed
      
      Restart=on-failure
      RestartSec=42s
      
      [Install]
      WantedBy=default.target
      
      0.

    4. Khi bạn được nhắc cho Vùng: Chọn vùng bạn chọn, ví dụ

      [Unit]
      Description=PHP APP Sync Service
      Requires=mysqld.service memcached.service
      After=mysqld.service memcached.service
      
      [Service]
      User=root
      Type=simple
      TimeoutSec=0
      PIDFile=/var/run/php_app_sync.pid
      ExecStart=/bin/sh -c '/usr/bin/php -f /var/www/app/private/server/cron/app_sync.php  2>&1 > /var/log/app_sync.log'
      KillMode=mixed
      
      Restart=on-failure
      RestartSec=42s
      
      [Install]
      WantedBy=default.target
      
      1.

    5. Bạn sẽ được nhắc cho phép các lời mời không được xác thực: trả lời

      [Unit]
      Description=PHP APP Sync Service
      Requires=mysqld.service memcached.service
      After=mysqld.service memcached.service
      
      [Service]
      User=root
      Type=simple
      TimeoutSec=0
      PIDFile=/var/run/php_app_sync.pid
      ExecStart=/bin/sh -c '/usr/bin/php -f /var/www/app/private/server/cron/app_sync.php  2>&1 > /var/log/app_sync.log'
      KillMode=mixed
      
      Restart=on-failure
      RestartSec=42s
      
      [Install]
      WantedBy=default.target
      
      0.allow unauthenticated invocations: respond
      [Unit]
      Description=PHP APP Sync Service
      Requires=mysqld.service memcached.service
      After=mysqld.service memcached.service
      
      [Service]
      User=root
      Type=simple
      TimeoutSec=0
      PIDFile=/var/run/php_app_sync.pid
      ExecStart=/bin/sh -c '/usr/bin/php -f /var/www/app/private/server/cron/app_sync.php  2>&1 > /var/log/app_sync.log'
      KillMode=mixed
      
      Restart=on-failure
      RestartSec=42s
      
      [Install]
      WantedBy=default.target
      
      0 .

    Sau đó đợi một vài khoảnh khắc cho đến khi việc triển khai hoàn tất. Khi thành công, dòng lệnh hiển thị URL dịch vụ.

  2. Truy cập dịch vụ được triển khai của bạn bằng cách mở URL dịch vụ trong trình duyệt web.

Vị trí chạy trên đám mây

Cloud Run là khu vực, có nghĩa là cơ sở hạ tầng chạy các dịch vụ Run Run của bạn được đặt trong một khu vực cụ thể và được Google quản lý để có sẵn một cách dự phòng trên tất cả các khu vực trong khu vực đó.

Đáp ứng độ trễ, tính khả dụng hoặc yêu cầu độ bền của bạn là các yếu tố chính để chọn khu vực nơi chạy các dịch vụ chạy trên đám mây của bạn. Bạn thường có thể chọn khu vực gần nhất với người dùng của mình nhưng bạn nên xem xét vị trí của các sản phẩm Google Cloud khác được sử dụng bởi dịch vụ chạy trên đám mây của bạn. Sử dụng các sản phẩm Google Cloud cùng nhau trên nhiều địa điểm có thể ảnh hưởng đến độ trễ của dịch vụ cũng như chi phí.

Cloud Run có sẵn ở các khu vực sau:

Tùy thuộc giá cấp 1

Tùy thuộc giá cấp 2

Nếu bạn đã tạo một dịch vụ chạy trên đám mây, bạn có thể xem vùng trong bảng điều khiển Cloud Run trong bảng điều khiển Google Cloud.

Xin chúc mừng! Bạn vừa triển khai một hình ảnh container từ mã nguồn đến Cloud Run. Cloud chạy tự động và chia tỷ lệ theo chiều ngang của hình ảnh container của bạn để xử lý các yêu cầu nhận được, sau đó chia tỷ lệ khi nhu cầu giảm. Bạn chỉ trả tiền cho CPU, bộ nhớ và mạng được tiêu thụ trong quá trình xử lý yêu cầu.

Dọn dẹp

Xóa dự án kiểm tra của bạn

Mặc dù Cloud Run không tính phí khi dịch vụ không được sử dụng, bạn vẫn có thể bị tính phí để lưu trữ hình ảnh container trong Sổ đăng ký tạo tác. Bạn có thể xóa hình ảnh container của mình hoặc xóa dự án đám mây của bạn để tránh các khoản phí phát sinh. Xóa dự án đám mây của bạn dừng thanh toán cho tất cả các tài nguyên được sử dụng trong dự án đó.

  1. Trong bảng điều khiển Google Cloud, hãy truy cập trang Quản lý tài nguyên.Manage resources page.

    Đi để quản lý tài nguyên

  2. Trong danh sách dự án, chọn dự án mà bạn muốn xóa, sau đó nhấp vào Xóa.Delete.
  3. Trong hộp thoại, nhập ID dự án, sau đó nhấp vào Tắt để xóa dự án.Shut down to delete the project.

Cái gì tiếp theo

Để biết thêm thông tin về việc xây dựng một thùng chứa từ nguồn mã và đẩy vào kho lưu trữ, hãy xem:

  • Phát triển dịch vụ chạy trên đám mây
  • Tòa nhà container
  • Triển khai từ mã nguồn

Trừ khi có ghi chú khác, nội dung của trang này được cấp phép theo giấy phép Creative Commons Attribution 4.0 và các mẫu mã được cấp phép theo giấy phép Apache 2.0. Để biết chi tiết, xem chính sách trang web của nhà phát triển Google. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các chi nhánh của nó.

Cập nhật lần cuối 2022-11-16 UTC.

. "Nhãn": "Thông tin không chính xác hoặc mã mẫu"}, {"type": "ngón tay cái xuống", "id": "thiếu thông tin sai lệch", "nhãn": "thiếu thông tin/mẫu tôi cần" ". Dễ dàng hiểu "}, {" type ":" ngón tay cái "," id ":" solvedMyProbol "," nhãn ":" đã giải quyết vấn đề của tôi "}, {" type ":" ngón tay cái "," id " : "Khác", "Nhãn": "Khác"}]]

Bạn có thể chạy PHP mà không cần máy chủ không?

Bạn có thể tạo một tập lệnh PHP để chạy nó mà không cần bất kỳ máy chủ hoặc trình duyệt nào.Bạn chỉ cần trình phân tích cú pháp PHP để sử dụng nó theo cách này.Loại sử dụng này là lý tưởng cho các tập lệnh thường xuyên được thực hiện bằng cron (trên *Nix hoặc Linux) hoặc Trình lập lịch tác vụ (trên Windows).Các tập lệnh này cũng có thể được sử dụng cho các tác vụ xử lý văn bản đơn giản.. You only need the PHP parser to use it this way. This type of usage is ideal for scripts regularly executed using cron (on *nix or Linux) or Task Scheduler (on Windows). These scripts can also be used for simple text processing tasks.

Tôi có thể chạy PHP trong Linux không?

Cài đặt PHP cho người dùng Linux: Người dùng Linux có thể cài đặt PHP bằng lệnh sau.Nó sẽ cài đặt PHP với Apache Server.Linux users can install php using the following command. It will install php with apache server.

Bạn có thể chạy các tệp PHP trên máy chủ không?

Trên hầu hết các máy chủ, đây là tiện ích mở rộng mặc định cho các tệp PHP, nhưng yêu cầu quản trị viên máy chủ của bạn chắc chắn.Nếu máy chủ của bạn hỗ trợ PHP, thì bạn không cần phải làm bất cứ điều gì.Chỉ cần tạo của bạn.Các tệp PHP, đặt chúng vào thư mục web của bạn và máy chủ sẽ tự động phân tích chúng cho bạn.If your server supports PHP, then you do not need to do anything. Just create your . php files, put them in your web directory and the server will automatically parse them for you.

Bạn có thể chạy PHP trên máy khách không?

Không .Php không thể được chạy trong trình duyệt.Tìm hiểu JavaScript, thay vào đó là Coffescript nếu bạn không thích cú pháp của JavaScript. PHP cannot be run in browser. Learn JavaScript, alternatively CoffeScript if you don't like JavaScript's syntax.