ホームページ  >  記事  >  バックエンド開発  >  CentOS7 での Laravel のデプロイと nginx での転送

CentOS7 での Laravel のデプロイと nginx での転送

不言
不言オリジナル
2018-04-18 10:30:481908ブラウズ

この記事は、CentOS7 での Laravel のデプロイと nginx での転送の内容を紹介しています。これは、必要な友人に参照してもらうために共有します。

環境を実行するための PHP の構築

  • service php-fpm start を実行して php-fpm サービスを開始し、 ps aux | php-fpm サービスが正常にインストールされているかどうかを確認します。


    • 2 番目の解決策を使用してソースをインストールする場合は、次のスクリプトを使用してください

      yum install php72-php-cli.x86_64 php72-php-common.x86_64 php72-php-fpm.x86_64 php72-php-devel.x86_64 php72-php-gd.x86_64 php72-php-intl.x86_64 php72-php-mbstring.x86_64 php72-php-pecl-mcrypt.x86_64 php72-php-mysqlnd.x86_64 php72-php-opcache.x86_64 php72-php-pdo.x86_64 php72-php-pear.noarch php72-php-xml.x86_64 -y
    • php ソースがあります

    • 一部のユーザーがこれら 2 つのファイルにアクセスできない可能性もあります。この場合、代わりに次のメソッド (7.2) を使用できます。そのため、次のチュートリアルの一部は異なる可能性があります。

      yum install epel-release -y
      rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

    • php ソースは比較的古いことに注意してください


    • Determine php の yum ソースがあるかどうか: yum search php

    • システム自体には php の yum ソースが付属していますが、バージョンが古すぎてまだ 5.4 です。最新のソースをインストールするために、新しい yum ソースをインストールします。 。



      phpのyumソースをインストールします:

      rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
      rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

    • この時点でyum search phpを実行すると、より多くのオプションが見つかります

    • phpといくつかの関連プラグインをインストールします(php-cliはに関連しています) shell、php -commonは共通関数に関連し、php-develはコンパイルに関連し、php-fpmはサービスに関連し、php-gdは画像処理に関連し、php-intlは国際化に関連し、php-mbstringはに関連します複数文字列処理、php-mcrypt 暗号化に関連し、php-mysqlnd は mysql に関連し、php-opcache はパフォーマンスの高速化に関連し、php-pdo はデータ オブジェクトに関連し、php-pear は php アプリケーション拡張に関連し、 php-xml は xml に関連しています) (ここで php7.1 をインストールします) 最初の方法を使用する場合は、最初のスクリプトを使用してください:
    • yum インストール php71w-cli.x86_64 php71w-common.x86_64 php71w-fpm.x86_64 php71w-devel.x86_64 php71w-gd.x86_64 php71w-mbstring.x86_64 php71w-mcrypt.x86_6 4 _64 php71w-opcache .x86_64 php71w- pdo.x86_64 php71w-pear.noarch php71w-xml.x86_64 -y

    • php –version を実行して、php がインストールされ構成されているかどうかを確認します。スクリーンショットのようなバージョン情報が表示されたら、php 構成のインストールが完了したことを示します。 git/mysql/redis)


    • これらのサービスは基本的に、composer がない場合は、cd /tmp
    • curl –sShttps://getcomposer.org/installer を実行して、基本的な yum ソースにインストールできます。 | php
    • mvcomposer.phar/usr/local/bin/composer で Composer のインストールを完了できます


    • サービスコードの準備

    • PHP サービスのデプロイと更新を容易にするために、著者は以下を使用しますgit を使用してプロジェクトをダウンロードして更新します。

    サービスをデプロイするフォルダーを入力し、git clone git address (例: git clone root@www.temp.com:/git/php/markingphp) を実行します

  • PHP コードをダウンロードします


    • 現時点では、この方法で php-fpm を実行する場合、PHP プロジェクトの静的リソース nginx の管理を容易にするために、十分な権限がない可能性があります。作成者はプロジェクトの権限を nginx に変更し、 php-fpm のオペレーターの権限を nginx に変更しました。

  • phpとプロジェクト関連の設定

    • nginxエラーログ

    • サービス転送に失敗しました

    • mysqlを初期化しています
    • chown nginx:nginx -Rf フォルダー名 (例: chown nginx:nginx -Rf markingphp)

  • rpm -ql php17w-fpm.x86_64 を実行して、php-fpm のインストール アドレスを取得します


    • php-fpm のインストール アドレスを取得します

    • know/etc/php-fpm.d/www.conf は設定ファイルです


      php-fpm 設定ファイル
    • 更改user = apache与 group = pache 为 user = nginx group = nginx 如果有必要可以更改127.0.0.1:9000为想要的端口

    • 为了服务器信息安全及项目大小控制,git项目未上传项目配置与项目引用库,所以需要重新新建项目配置文件并配置

    • 项目结构

    • 配置文件

    • 运行 composer update -vvv 下载库

    • 下载库失败

    • 如果库下载失败,可能是库被墙的原因,更改composer.json添加国内源再运行即可。


    “repositories”: { 
       “packagist”: { 
          “type”: “composer”, 
          “url”: “https://packagist.phpcomposer.com” 
       } 
    }
    • 国内源

    • 再运行 php artisan serve 可测试当前项目库是否完整,出现如下说明项目库下载完成。

    • 尝试启动项目测试

    • 初始化项目mysql表(php artisan migrate:refresh)

    • 配置nginx以转发80端口服务到php-fpm的服务,
         

      server { 
          listen 80; 
          location / { 
             root /php/markingphp/public/; 
             index index.php index.html index.jsp; 
          } 
          location ~ .php{  
               root html;  
               fastcgi_pass 127.0.0.1:9000;  
               fastcgi_index index.php;  
               fastcgi_param SCRIPT_FILENAME
    document_root$fastcgi_script_name; 
              include fastcgi_params; 
         } 
       }
    • 运行curl localhost 判断服务是否正常转发。

    • 运行 vim /var/log/nginx/error.log 检查nginx的log会发现log提示权限不足,可是我们已经把文件权限付给了nginx。

    • 最终得知是因为selinux的缘故,此时只需运行 setenforce 0 即可关闭selinux(临时),再修改配置文件 /etc/selinux/config,将SELINUX=enforcing改为SELINUX=disabled,这样下次重启selinux依然是关闭的。再运行curl localhost 会发现服务已经可以正常服务了。


以上がCentOS7 での Laravel のデプロイと nginx での転送の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。