(回る)MacはNginxを取り付け、PHPを配置する
3422 ワード
brew install nginx
そして、権限を設定します.# , , nginx
sudo chown root:wheel /usr/local/Cellar/nginx/1.10.1/bin/nginx
sudo chmod u+s /usr/local/Cellar/nginx/1.10.1/bin/nginx
mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/nginx/homebrew.mxcl.nginx.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist
sudo nginx # nginx
nginx -s reload|reopen|stop|quit # | | | nginx
nginx -t #
brew tap homebrew/dupes
brew tap josegonzalez/homebrew-php
phpにはたくさんのバージョンがあります.私達はbrew search phpを使ってパソコンの中のものを調べてみます.しかし、brewを使ってインストールしました.macが持っているものには影響がありません.彼は/usr/local/Celarの下に取り付けますから.brew install php56
インストールが完了したら、私がインストールしたバージョンをシステムが使えるように配置してください.sudo vim ~/.bash_profile
# :
export PATH="$(brew --prefix php56)/bin:$PATH"
# ,source ,
source ~/.bash_profile
完成したら、端末の中でphp-vを使ってバージョンを見ることができます.つまり私がインストールしたバージョンはlaunchctl起動制御に入りました.mkdir -p ~/Library/LaunchAgents
cp /usr/local/opt/php56/homebrew.mxcl.php56.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php56.plist
phpプロファイルのパスは以下の通りです./usr/local/etc/php/5.6/php.ini
/usr/local/etc/php/5.6/php-fpm.conf
このようにして完成してから直接phpを使ってテストしましたが、inxサービスは正常です.しかし、phpが表示されないのはもどかしさがあります.inxはphpの設定に対してまだnginx配置ファイルのパスを作っていません./usr/local/etc/nginx/nginx.conf
開けたら次のピースを見つけます.# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
注釈を解除して、nginxを再起動してもだめです.原因を探してみました.それは「/scripts$fastcgicauscriptuname」です.この文は「$documenturoot$fastcgicatuname」です.そして、nginxを再起動したらphp-fpmにアクセスできます.例えば、いくつかの端末に問題があります.このファイルは保存されていません.実は同じディレクトリの下にある拡張子が「.default」というファイルがあります.これをコピーしてphp-fpm.com.co nfに変更すればいいです.後に実行すれば、errorculogパスが間違っているかもしれません.デフォルトは【usr/var】の下にLogがあります.[global]
; Pid file
; Note: the default prefix is /usr/var
; Default Value: none
pid = /usr/local/var/php-fpm/run/php-fpm.pid
; Error log file
; If it's set to "syslog", log is sent to syslogd instead of being written
; in a local file.
; Note: the default prefix is /usr/var
; Default Value: log/php-fpm.log
error_log = /usr/local/var/php-fpm/log/php-fpm.log
pidとerrorculogは以前は注釈の状態でした.私達はそれを自分の便利な位置に変えてもいいです.今まで特に問題がないなら、nginxとphpは正常に仕事ができます.nginx.comとhostsファイルを修正することで、自分の訪問ドメイン名を設定できます.参照するスレッド:http://www.jianshu.com/p/255889464b2f
作者:890624リンク:https://www.jianshu.com/p/bd0df4d3d03a ソース:著作権は著者の所有になります.商業転載は作者に連絡して授権してください.商業転載ではないので、出典を明記してください.