導航:首頁 > 編程語言 > homebrewnginxphp

homebrewnginxphp

發布時間:2022-06-20 00:21:58

1. 如何正確配置 Nginx 和 php

直接貼上代碼逐行進行講解,此處貼出一個能正常啟動php腳本的最簡nginx vhost配置:

[plain] view plain
server {
listen 8011;
server_name test.cn;
location ~ \.php?.*$ {
root /share/test;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

1、第一個大括弧 server{ }:不必多說,代表一個獨立的server,

2、listen 8011:代表該server監聽8011埠

3、location ~ \.php?.*${
}:代表一個能匹配對應uri的location,用於匹配一類uri,並對所匹配的uri請求做自定義的邏輯、配置。這里的location,匹配了所有帶.php的uri請求,例如:http://192.168.244.128:8011/test.php/asdasd
http://192.168.244.128:8011/index.php等

4、root /share/test:請求資源根目錄,告訴匹配到該location下的uri到/share/teset文件夾下去尋找同名資源。

5、fastcgi_pass 127.0.0.1:9000:這行開始是本文的重點:這行代碼的意思是,將進入到該location內的uri請求看做是cgi程序,並將請求發送到9000埠,交由php-fpm處理。

6、fastcgi_param SCRIPT_FILENAME
$document_root$fastcgi_script_name;
:這行配置意思是:動態添加了一行fastcgi配置,配置內容為SCRIPT_FILENAME,告知管理進程,cgi腳本名稱。由於我的nginx中只有fastcgi_params文件,沒有fastcgi.conf文件,所以要使php-fpm知道SCRIPT_FILENAME的具體值,就必須要動態的添加這行配置。

7、include fastcgi_params; 引入fastcgi配置文件

以上就是最簡潔版的nginx啟動php腳本的最簡配置,當重啟nginx之後,在/share/test目錄下創建一個xx.php文件,輸入<?php
echo "hello world"; ?>保存,然後在瀏覽器中訪問localhost:8011/xx.php
就可以在網頁上顯示hello world了。

2. 如何正確配置Nginx+PHP

其實沒多復雜
1. 將nginx和php都裝好了
2. 然後配置nginx,將php請求分發給php-fpm處理
linux下的配置文件一般在/usr/local/nginx/conf/nginx.conf
找到下面字樣,並取消注釋,且注意這個$document_root這個地方(原本應為$script***的,改成$document_root)
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;
}

3.啟動nginx和php-fpm,然後寫個phpinfo腳本測試下成功與否就可以了

3. mac怎麼配置php7+nginx

安裝好brew之後,先安裝php7。安裝php7之前,要先更新一下brew的源並加入一些第三方的庫:
brew update
brew tap homebrew/pes
brew tap homebrew/versions
brew tap homebrew/homebrew-php
然後就可以使用brew搜索php70的包並安裝了!

4. mac 怎麼用nginx支持php後台

Nginx一般都會運行多個域名,因此這里參考了@fish的方法,按Ubuntu的文件夾結構來存放Nginx的配置文件

mkdir -p /usr/local/var/logs/nginx
mkdir -p /usr/local/etc/nginx/sites-available
mkdir -p /usr/local/etc/nginx/sites-enabled
mkdir -p /usr/local/etc/nginx/conf.d
mkdir -p /usr/local/etc/nginx/ssl
編輯Nginx全局配置

vim /usr/local/etc/nginx/nginx.conf
worker_processes 1;
error_log /usr/local/var/logs/nginx/error.log debug;
pid /usr/local/var/run/nginx.pid;

events {
worker_connections 256;
}
這樣試試呢,我在後盾人看過教材,我把他們講的最相近的題目加講解發給你了,希望能幫到你

5. mac 許可權的nginx怎麼支持php

Mac OSX下配置nginx和php
首先安裝nginx, 其次需要HomeBrew, 按照官網說明安裝
然後安裝PHP,以下的命令在終端執行:

更新下brew的庫,加入php支持:

brew tap homebrew/pes
brew tap josegonzalez/homebrew-php
然後執行:

# 需要mysql,就把--without-mysql改為--with-mysql
brew install --without-apache --with-fpm --without-mysql php55
執行上面的命令後,brew就開始下載php源碼編譯安裝,大概幾分鍾時間。
安裝完成後,配置php/bin到終端環境(未驗證,貌似跟mac本身自帶的php有沖突?):

#這一步成不成功沒關系,這步的目的只是讓終端可以執行PHP命令,不影響web伺服器使用
echo 'export PATH="$(brew --prefix josegonzalez/php/php55)/bin:$PATH"' >> ~/.bash_profile
設置隨系統自動啟動:

mkdir -p ~/Library/LaunchAgents
#注意文件homebrew.mxcl.php55.plist的路徑,需要根據實際情況改成自己的目錄和文件名
cp /usr/local/Cellar/php55/5.5.13/homebrew.mxcl.php55.plist ~/Library/LaunchAgents/
上面只是設置了自啟動,但是還沒真正啟動,所以執行以下命令手動啟動PHP-FPM:

launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.php55.plist
php的配置和啟動工作已經結束了,然後驗證一下,執行

lsof -Pni4 | grep LISTEN | grep php
如果輸出以下類似內容,那就表示成功了,否則。。。自找原因吧:

php-fpm 69659 frdmn 6u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 69660 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 69661 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)
php-fpm 69662 frdmn 0u IPv4 0x8d8ebe505a1ae01 0t0 TCP 127.0.0.1:9000 (LISTEN)
最後就是配置nginx虛擬機:

server {
listen 80;
server_name php.cssor.com;
root /var/www;

location / {
index index.html index.shtml;
}
#配置後綴為.php的就交給php引擎處理
#如果需要整站都託管給php,就把location ~ \.php$ 替換為location / ,同時上面的location / 配置就不需要了
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

6. 如何在mac上搭建nginx+mysql+php

homebrew是mac下非常好用的包管理器,會自動安裝相關的依賴包,將你從繁瑣的軟體依賴安裝中解放出來。
安裝homebrew也非常簡單,只要在終端中輸入:
<!-- lang: shell -->
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

homebrew的常用命令:
<!-- lang: shell -->
brew update #更新可安裝包的最新信息,建議每次安裝前都運行下
brew search pkg_name #搜索相關的包信息
brew install pkg_name #安裝包

7. 如何在 OSX 上架設 Nginx+MariaDB+PHP 伺服器

打開「Mac App Store」下載並安裝「Xcode」。
打開「Xcode」,按下同意並接受Xcode的使用條款。
打開「終端機(Terminal)」,輸入下面的指令並且安裝Homebrew。
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

輸入下面的指令讓其他程式知道Xcode的位置。
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer

之後,「按此」下載最新版本的X11並且安裝。
之後建立X11的符號鏈接(軟鏈接)。
sudo ln -s /opt/X11 /usr/X11

之後使用下面的指令查看透過Homebrew安裝的套件。
brew list

之後輸入下面指令查看當前系統變數。
$PATH

打開「.bash_profile」並修改系統變數。
vim ~/.bash_profile

將「/usr/local/bin」放在「/usr/local/sbin」之前。例如︰
export PATH=~/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/X11/bin:/usr/local/git/bin:/opt/local/bin

接著,請參考文章「[教學] 在 OSX 10.8 上設定 Postfix 郵件傳送代理 (MTA)」設定Postfix。
啟用Postfix。
sudo postfix start

安裝 dnsmasq 設定 DNS
透過Homebrew安裝dnsmasq,以加速網路存取速度。
brew install dnsmasq

復制和編輯dnsmasq.conf。
mkdir /usr/local/etc
cp $(brew --prefix dnsmasq)/dnsmasq.conf.example /usr/local/etc/dnsmasq.conf
vim /usr/local/etc/dnsmasq.conf

更改dnsmasq.conf內的數值。
resolv-file=/etc/resolv.dnsmasq.conf
address=/.ld/127.0.0.1
listen-address=127.0.0.1

建立並編輯DNS解析文件。
sudo vim /etc/resolv.dnsmasq.conf

在「resolv.dnsmasq.conf」文件內貼上以下內容。
# Google DNS IPv6:
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844
# OpenDNS IPv6:
nameserver 2620:0:ccd::2
nameserver 2620:0:ccc::2
# Google DNS:
nameserver 8.8.8.8
nameserver 8.8.4.4
# OpenDNS:
nameserver 208.67.222.222
nameserver 208.67.220.220

設定開機自動執行dnsmasq。
sudo cp $(brew --prefix dnsmasq)/homebrew.mxcl.dnsmasq.plist /Library/LaunchDaemons
sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.dnsmasq.plist

設定你的Hostname。
sudo scutil --set HostName foolegg

打開「系統設定」,在「網路」內分別選擇「Wi-fi」和「Ethernet」,在「進階」內設定「127.0.0.1」為DNS伺服器。
安裝 Nginx
輸入下面指令關閉自動啟用Apache。
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist

之後透過Homebrew安裝Nginx。
brew install nginx

安裝完成後,復制和備份nginx.conf。
cp /usr/local/etc/nginx/nginx.conf /usr/local/etc/nginx/nginx.conf.bak

打開nginx.conf,刪除所有內容,使用下面的內容取代。
# Nginx web server main configuration file nginx.conf
#
user www-data staff;
worker_processes 4;
worker_rlimit_nofile 8192;

error_log /usr/local/var/log/nginx/error.log;
#pid /var/run/nginx.pid;

events {
worker_connections 1024;
}

http {
include mime.types;

default_type application/octet-stream;
sendfile on;
keepalive_timeout 10;
tcp_nodelay on;
gzip on;
client_max_body_size 100M;
#access_log /usr/local/var/log/nginx/access.log main;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';

## FastCGI.
include /usr/local/etc/nginx/fastcgi.conf;

## For the filefield_nginx_progress mole to work. From the
## README. Reserve 1MB under the name 'uploads' to track uploads.
#upload_progress uploads 1m;

#include /etc/nginx/conf.d/*.conf;
#include /usr/local/etc/nginx/aegir.conf;

server {
listen 80;
server_name localhost;
server_tokens off;
#access_log /usr/local/var/log/nginx/access.log main;
root /usr/share/nginx/www/public_html;

location / {
root /usr/share/nginx/www/public_html;
index index.html index.htm;

##### Use this if you're going to install wordpress #####
#if (-f $request_filename/index.html) {
# rewrite (.*) $1/index.html break;
#}
#if (-f $request_filename/index.php) {
# rewrite (.*) $1/index.php;
#}
#if (-f $request_filename) {
# rewrite (.*) /index.php;
#}
#if (!-e $request_filename) {
# rewrite ^.+?(/wp-.*) $1 last;
# rewrite ^.+?(/.*\.php)$ $1 last;
# rewrite ^ /index.php last;
#}
#rewrite /wp-admin$ $scheme://$host$uri/ permanent;
##### End #####
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/www/public_html;
}

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}

之後建立Nginx的log資料夾和其它必要的目錄。
sudo mkdir -p /usr/local/var/log/nginx/
touch /usr/local/var/log/nginx/error.log
touch /usr/local/var/log/nginx/access.log
sudo mkdir -p /usr/share/nginx/www/public_html

安裝 MariaDB
透過Homebrew安裝MariaDB。
brew install mariadb --use-llvm --env=std

取消TMPDIR設定。
unset TMPDIR

初始化MySQL資料庫。請將5.5.30更改為你當前使用的版本編號。
cd /usr/local/Cellar/mariadb/5.5.30/scripts
mysql_install_db --user=`whoami` --basedir="$(brew --prefix mariadb)" --datadir=/usr/local/var/mysql --tmpdir=/tmp

系統會提示錯誤,請忽略有關錯誤。下面的教學設定會更正錯誤。
安裝 PHP
雖然OSX上已經安裝了PHP,但是我們不會使用Apple的PHP。
輸入下面的指令安裝PHP。
brew tap josegonzalez/homebrew-php
brew tap homebrew/pes
brew install php53 --with-mysql --with-fpm --with-imap
brew install php53-xhprof
brew install php53-xdebug
brew install php53-uploadprogress
brew install php53-memcached
brew install php53-imagick

打開並修改php.ini。
vim /usr/local/etc/php/5.3/php.ini

搜索
extension=php_zip.dll

在下面加上以下內容,請更改版本編號。
extension="/usr/local/Cellar/php53-xhprof/0.9.2/xhprof.so"
extension="/usr/local/Cellar/php53-uploadprogress/1.0.3.1/uploadprogress.so"
extension="/usr/local/Cellar/php53-memcached/2.1.0/memcached.so"
extension="/usr/local/Cellar/php55-imagick/3.1.0RC2/imagick.so"
zend_extension="/usr/local/Cellar/php53-xdebug/2.2.1/xdebug.so"

到「PHP手冊」尋找你身處地區的時區。修改php.ini內的「date.timezone」變數的數值。
date.timezone = Asia/Hong_Kong

尋找以下3個變數的數值。如果找不到,請在檔案的最尾部份加上3個變數和數值。
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off

修改記憶體和上傳限制的數值。如果變數前出現分號「;」,請將之刪除。
memory_limit = 256M
post_max_size = 100M
upload_max_filesize = 100M

打開並修改php-fpm.conf檔案。
vim /usr/local/etc/php/5.3/php-fpm.conf

搜索
pid = run/php-fpm.pid

在下面加上
pid = /usr/local/var/run/php-fpm.pid

之後刪除下面4行變數和數值前的分號「;」。
pm.start_servers = 3
pm.min_spare_servers = 3
pm.max_spare_servers = 5
pm.max_requests = 500

按照下面修改「error_log」的數值。
error_log = /usr/local/var/log/php-fpm.log

之後建立log的符號鏈接(軟鏈接)。
sudo ln -s $(brew --prefix josegonzalez/php/php53)/var/log/php-fpm.log /usr/local/var/log/php-fpm.log

開機啟用服務
設定Nginx的啟用服務。
sudo cp $(brew --prefix nginx)/homebrew.mxcl.nginx.plist /Library/LaunchDaemons/
sudo chown root:wheel /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

打開並修改「homebrew.mxcl.nginx.plist」。
sudo vim /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

在「homebrew.mxcl.nginx.plist」內刪除以下內容。
<key>KeepAlive</key>
<true/>
<key>UserName</key>
<string>[YourUserName]</string>

開啟Nginx。
launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

為軟體建立資料夾。
mkdir -p ~/Library/LaunchAgents

設定MariaDB的啟用服務。
cp $(brew --prefix mariadb)/homebrew.mxcl.mariadb.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

設定PHP的啟用服務。
cp $(brew --prefix josegonzalez/php/php53)/homebrew-php.josegonzalez.php53.plist ~/Library/LaunchAgents/
launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php53.plist

完成MariaDB的設定。
sudo $(brew --prefix mariadb)/bin/mysql_secure_installation

為MySQL設定密碼。
Enter current password for root (enter for none): [Enter]
Set root password? [Y/n] y
New password: [password]
Re-enter new password: [password]
Remove anonymous users? [Y/n] y
Disallow root login remotely? [Y/n] y
Remove test database and access to it? [Y/n] y
Reload privilege tables now? [Y/n] y

測試PHP
建立並修改index.php。
vim /usr/share/nginx/www/public_html/index.php

輸入並儲存以下內容。
<?php phpinfo(); ?>

從新啟動Nginx。
sudo nginx -s reload

打開瀏覽器,輸入「http://localhost/index.php」查看是否成功運行PHP。
啟動或停止MNMP
在桌面或其他位置建立Shell Script「mnmp.sh」。
vim mnmp.sh

在Shell Script「mnmp.sh」內加入以下內容,然後儲存檔案。
#!/bin/bash

case "$1" in
start)

# Start MariaDB
echo -e "Starting mariadb..."
launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

# Start PHP
echo -e "Starting php..."
launchctl load -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php53.plist

# Start Nginx
echo -e "Starting nginx..."
sudo launchctl load -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

;;

stop)

# Stop MariaDB
echo -e "Stopping mariadb..."
launchctl unload -w ~/Library/LaunchAgents/homebrew.mxcl.mariadb.plist

# Stop PHP
echo -e "Stopping php..."
launchctl unload -w ~/Library/LaunchAgents/homebrew-php.josegonzalez.php53.plist

# Stop Nginx
echo -e "Stopping nginx..."
sudo launchctl unload -w /Library/LaunchDaemons/homebrew.mxcl.nginx.plist

;;
esac

exit 0

為Shell Script「mnmp.sh」加入可執行許可權。
chmod 700 mnmp.sh

使用以下指令啟動MNMP。
./mnmp.sh start

使用以下指令停止MNMP。
./mnmp.sh stop

PHP檔案存取錯誤
有部份讀者反映在存取PHP檔案時出現錯誤。大家可以打開檔案「/usr/local/var/log/nginx/error.log」查看錯誤的原因。
如果出現下面的原因,可能是因為php-fpm的問題。
[error] <NUMBER>#0: *<NUMBER> kevent() reported that connect() fa iled (<NUMBER>: Connection refused) while connecting to upstream, client: 127.0.0. 1, server: localhost, request: 「GET /index.php HTTP/1.1″, upstream: 「fastcgi ://127.0.0.1:9000″, host: 「127.0.0.1″
大家可以使用「netstat -anp tcp | grep 9000」或者「lsof -i tcp:9000」查看佔用Port 9000的進程,並且將其終止。之後使用下面指令開啟php-fpm。
sudo /usr/local/sbin/php-fpm --fpm-config /usr/local/etc/php/5.3/php-fpm.conf

請再次測試是否成功存取php。如果成功,請依照下面設定自動啟動php-fpm。
設定自動啟動php-fpm
建立文件「~/Library/LaunchAgents/org.php-fpm.plist」。

8. 安裝nginx+php後,Php頁面訪問時提示404,但頁面是存在的.

安裝nginx+php後,Php頁面訪問時提示404,但頁面是存在的,應該是下面的原因造成的:

這個是因為index.html 文件目錄是nginx默認安裝目錄 /usr/local/nginx/html,而info.php 把它放到了 /data/web 下造成的,可以在nginx.conf配置文檔裡面找到相應的問題。

可以按照下面測試更改:

location ~ .php$ {
root /data/web;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
nginx -t && nginx -s reload

9. 怎麼在nginx中運行php文件

nginx本身不能處理php,它只是個web伺服器,當接收到請求後,如果是php請求,則發給php解釋器處理,並把結果返回給客戶端。
nginx一般是把請求發fastcgi管理進程處理,fascgi管理進程選擇cgi子進程處理結果並返回給nginx本文以php-fpm為例介紹如何使nginx支持php.

10. brew 安裝php5.6 怎麼修改php.ini

卸載mac自帶的apache和php,有用集成環境,建議也刪掉
先停掉apache:
sudo apachectl stop
然後統統刪掉
sudo rm /usr/sbin/httpd
sudo rm -r /etc/apache2/
2.安裝nginx
brew install nginx
安裝完後,先不急著修改配置文件
先設置許可權
sudo chown root:wheel/usr/local/opt/nginx/bin/nginx
sudo chmod u+s/usr/local/opt/nginx/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
launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.nginx.plist(取消開機啟動)
nginx命令
sudo nginx #打開 nginx
nginx -s reload|reopen|stop|quit #重新載入配置|重啟|停止|退出 nginx
nginx -t #測試配置是否有語法錯誤
如果提示pid丟失的話,就用這句話
nginx -c "/usr/local/etc/nginx/nginx.conf"
好了nginx安裝完畢,大家可以localhost一下,就可以看到nginx的信息了
3.安裝mysql
brew install mysql
加入開機啟動這樣試試呢,我自己是看後盾人的教學視頻自己學的希望給你個參考,加油

閱讀全文

與homebrewnginxphp相關的資料

熱點內容
不會數學英語如何編程 瀏覽:86
如何能知道網站伺服器地址 瀏覽:648
程序員月薪5萬難嗎 瀏覽:138
如何評價程序員 瀏覽:802
雲虛機和伺服器的區別 瀏覽:403
廣西柳州壓縮機廠 瀏覽:639
arm開發編譯器 瀏覽:833
51單片機的核心 瀏覽:746
看電視直播是哪個app 瀏覽:958
將c源程序編譯成目標文件 瀏覽:787
再要你命3000pdf 瀏覽:558
ai軟體解壓軟體怎麼解壓 瀏覽:520
文件夾怎樣設置序列號 瀏覽:963
javascriptgzip壓縮 瀏覽:248
易語言怎麼取出文件夾 瀏覽:819
蘋果xs手機加密app哪裡設置 瀏覽:605
超聲霧化器與壓縮霧化器 瀏覽:643
模擬實現進程調度演算法 瀏覽:388
現在的壓縮包都是加密 瀏覽:331
施工員找工作去哪個app 瀏覽:632