ホームページ > バックエンド開発 > PHPの問題 > PHP で一般的に使用される迅速なデプロイメント ツールとテクニックのいくつか

PHP で一般的に使用される迅速なデプロイメント ツールとテクニックのいくつか

PHPz
リリース: 2023-04-21 10:29:18
オリジナル
1314 人が閲覧しました

インターネット業界の継続的な発展に伴い、PHP は多くの企業にとって好まれる開発言語となっています。 PHP アプリケーションの迅速な展開は、PHP 開発プロセスで習得する必要があるスキルです。この記事では、PHP 開発者に役立つことを願って、一般的に使用される迅速なデプロイメント ツールとテクニックをいくつか紹介します。

1. Docker の使用

Docker は、人気のあるコンテナ化テクノロジの 1 つであり、PHP アプリケーションを迅速にデプロイするための一般的なツールの 1 つです。 Docker を使用すると、PHP アプリケーションを簡単に作成してデプロイし、アプリケーション環境やその他の問題によって引き起こされる構成の競合を回避できます。 Docker を使用して PHP アプリケーションを迅速にデプロイする手順は次のとおりです。

  1. Docker のインストール

まず、開発環境に Docker をインストールする必要があります。公式 Web サイトから対応するオペレーティング システムのインストール パッケージをダウンロードし、インストール完了後に Docker を起動できます。

  1. Dockerfile の作成

Dockerfile は、必要な環境、ソフトウェア パッケージ、その他の情報が含まれるコンテナーを作成する Docker の青写真です。 Dockerfile を作成するときは、公式に提供されている PHP イメージから開始できます。

以下は、基本的な PHP Dockerfile の例です:

# 基础镜像
FROM php:7.2-apache

# 安装依赖
RUN apt-get update && \
    apt-get install -y git && \
    apt-get install -y curl && \
    apt-get install -y libpng-dev && \
    apt-get install -y libcurl4-openssl-dev

# 安装扩展
RUN docker-php-ext-install pdo_mysql mysqli gd curl

# 启用Apache Rewrite模块
RUN a2enmod rewrite

# 设置Apache网站根目录
ENV APACHE_DOCUMENT_ROOT /var/www/html/public
RUN sed -ri -e 's!/var/www/html!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/sites-available/*.conf
RUN sed -ri -e 's!/var/www/!${APACHE_DOCUMENT_ROOT}!g' /etc/apache2/apache2.conf /etc/apache2/conf-available/*.conf

# 维护者信息
LABEL maintainer="yourname@company.com"

# 工作目录
WORKDIR /var/www/html

# 复制代码及资源
COPY . /var/www/html

# 安装Composer
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/ --filename=composer

# 安装PHP依赖
RUN composer install --no-dev --no-interaction --no-progress --prefer-dist

# 暴露端口
EXPOSE 80
ログイン後にコピー

この時点で、現在のディレクトリで次のコマンドを実行して、Docker でイメージをビルドします:

$ docker build -t my_php_app .
ログイン後にコピー

Among them , 「my_php_app」 作成したイメージの名前です。

  1. Docker コンテナの実行

ビルドが成功したら、次のコマンドを使用して Docker でコンテナを実行します。

$ docker run -it -p 80:80 my_php_app
ログイン後にコピー

上記のコマンド, 「-p 80 :80」はDocker内のポート80をローカルのポート80にマッピングすることを意味し、ブラウザからローカルホストのIPアドレスにアクセスすることでPHPアプリケーションにアクセスできます。この時点で、Docker を使用して PHP アプリケーションを正常にデプロイできました。

2. Web サーバーの使用

Docker に加えて、一般的な Web サーバー (Nginx や Apache など) を使用して、PHP アプリケーションを迅速にデプロイできます。

  1. Web サーバーの構成

まず、PHP をサポートするように Web サーバーを構成する必要があります。 Nginx を例に挙げると、次の手順に従って構成できます。

    #Nginx および PHP 関連コンポーネントのインストール
$ sudo apt-get update
$ sudo apt-get install -y nginx php-fpm php-mysql
ログイン後にコピー
    Nginx の構成
Nginx 構成ファイルを開きます:

$ sudo nano /etc/nginx/sites-available/default
ログイン後にコピー
次の内容をファイルに追加します:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php7.2-fpm.sock;
    }
}
ログイン後にコピー
次のコマンドを実行して nginx サービスを再起動します:

$ sudo service nginx restart
ログイン後にコピー
    アプリケーションをデプロイする
関連する構成を完了したら、アプリケーション ファイルを Web サイトのルート ディレクトリ (デフォルトは /var/www/html) に配置し、 Nginx によってアクセスされます。

3. スクリプトの使用

Docker サーバーと Web サーバーに加えて、PHP アプリケーションを迅速にデプロイするもう 1 つの一般的な方法は、スクリプトを使用することです。デプロイメント スクリプトを作成すると、コード リポジトリの取得、環境構成からアプリケーションのデプロイメントまでのプロセス全体を自動的に完了できます。以下は簡単なデプロイメント スクリプトの例です:

#!/bin/bash

# 部署程序

# 从Git仓库拉取代码
git clone https://github.com/user/my_php_app.git

# 进入代码目录
cd my_php_app

# 安装依赖
composer install

# 配置环境变量
cp .env.example .env

# 自动生成应用密钥
php artisan key:generate

# 运行数据库迁移
php artisan migrate

# 启动服务
php artisan serve
ログイン後にコピー
デプロイメント スクリプトでは、Composer、Git、PHP Artisan などのいくつかの一般的なツールとコマンドを使用できます。実際のニーズに応じて調整および変更できます。

概要

PHP アプリケーションの迅速なデプロイメントは、PHP 開発プロセスで習得する必要があるスキルの 1 つです。この記事では、Docker、Web サーバー、スクリプトなど、一般的に使用される迅速な導入ツールと手法をいくつか紹介します。この内容が PHP 開発者に役立ち、開発の生産性が向上することを願っています。

以上がPHP で一般的に使用される迅速なデプロイメント ツールとテクニックのいくつかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート