この記事は、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
yum install epel-release -y rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
Determine php の yum ソースがあるかどうか:
yum search php
phpのyumソースをインストールします:
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
php –version を実行して、php がインストールされ構成されているかどうかを確認します。スクリーンショットのようなバージョン情報が表示されたら、php 構成のインストールが完了したことを示します。 git/mysql/redis)
現時点では、この方法で php-fpm を実行する場合、PHP プロジェクトの静的リソース nginx の管理を容易にするために、十分な権限がない可能性があります。作成者はプロジェクトの権限を nginx に変更し、 php-fpm のオペレーターの権限を nginx に変更しました。
phpとプロジェクト関連の設定
nginxエラーログ
rpm -ql php17w-fpm.x86_64 を実行して、php-fpm のインストール アドレスを取得します
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 サイトの他の関連記事を参照してください。