一路殺怪,在朋友的協(xié)助下,總算配置成功。
本地原環(huán)境:Apache2.4;PHP5.6;
1. 安裝Nginx
- brew install nginx
- 現(xiàn)象:一直顯示updating homebrew,沒(méi)有任何反應(yīng),我就給終止掉,再次執(zhí)行brew install nginx,這次安裝成功。
1.1 安裝成功:
- 新目錄:/usr/local/etc/nginx
- 主要文件:nginx.conf
- 主要目錄:servers(配置虛擬主機(jī)時(shí)使用)
1.2 啟動(dòng)Nginx:
- 由于本地Apache一直在運(yùn)行,所以先關(guān)閉Apache的運(yùn)行:
ps aux | grep apache
kill -9 apached的PID - sudo nginx -s reload
1.3 配置server
- cd servers,在此目錄下創(chuàng)建xxx.conf文件
server {
listen 80;
server_name phpadmin.com; // 配置本地域名
root /Users/xxx/xxx/phpmyadmin; // 本地項(xiàng)目路徑
index index.php;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;//如果是php文件,就讓php-fpm去工作
# With php-fpm:
fastcgi_pass unix:/var/run/php71-fpm.sock; //也可以寫(xiě)成127.0.0.1:9000,如果想使用sock需要 vi php71/php-fpm.d/www.conf 修改listen的設(shè)置
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
access_log /var/log/nginx/xxx.log zqaccess; // zqaccess命名需要與上級(jí)目錄 nginx.conf 中的log_format命名保持一致
error_log /var/log/nginx/xxx.err.log;
}
2. 升級(jí)PHP到7.1和安裝7.1的php-fpm
- brew install --without-apache --with-fpm --with-mssql php71
- 如果你只是想升級(jí)php到7.1,而且還想用Apache,這里需要執(zhí)行brew install --with-http22 或者 --with-http24 --with-mssql php71,這個(gè)要根據(jù)你Apache的版本了,具體你可以執(zhí)行brew options php71命令進(jìn)行查看。如果沒(méi)有寫(xiě)--with-http24,安裝后是不會(huì)有l(wèi)ibexec/apache2/libphp7.so的。
2.1 安裝成功:
- 新目錄:
/usr/local/etc/php/7.1 主要配置php-fpm
/usr/local/opt/php71 主要在sbin下啟動(dòng)php-fpm:sudo ./php71-fpm restart - 啟動(dòng)php71-fpm如果失敗,需要將原來(lái)的php-fpm給殺掉,mac原本有低版本的php-fpm。
3. 細(xì)節(jié)(用戶(hù)權(quán)限問(wèn)題)
3.1 驗(yàn)證Nginx是否生效
配置好虛擬主機(jī)后,在指定目錄下,創(chuàng)建一個(gè)html文件,如果瀏覽器能正常顯示這個(gè)文件,則說(shuō)明nginx生效。
3.2 驗(yàn)證php能否正常運(yùn)行
nginx server配置的是php71-fpm.sock,遇到了502錯(cuò)誤,查看日志提示,用戶(hù)權(quán)限不足。
nginx server配置修改成127.0.0.1:9000,www.conf的listen也修改成127.0.0.1:9000是可以正常執(zhí)行php的。
- 解決502
ll 查看生成的php71-fpm.sock文件,所屬用戶(hù)不是_www,
vi /usr/local/etc/nginx/nginx.conf 文件,修改user為_(kāi)www
vi /usr/local/etc/php/7.1/php-fpm.d/www.conf,修改user = _www
group = _www listen.owner = _www listen.group = _www