准备条件:
项目一个。 电脑一个(macos) 网上教学内容和文档若干。。。
开始:
1、看看电脑里面有木有PHP,一般是有滴。 mac自带。。 这里你也可以自己再装一个,不过不推荐,不会的越弄越复杂,最后还是删了用自带的。
1-1、如果自己又装了一个,或者不知道自己有几个的同学。 打开终端,输入 brew services list 看看有几个。自带的一般是7以上的。
1-2、php56以上的版本好像都自带php-fpm了,不需要再安装。php7应该可以编译php老版本写的系统(反正我的没问题)。另外装两个php的话可能会有两个 php-fpm,这样可能导致你的 php-fpm 怎么都运行不起来。 反正各种小坑,要记得礼让。
1-3、综上,没必要装老版本的php,也没必要再安装最新版版php。
1-4、杀死php-fpm命令:killall php-fpm。 启动php-fpm命令:php-fpm 下面的notice是因为我没设置。这个不影响。
还有一个小问题,php-fpm 的错误日志存储路径要改一下。不然启动不了总是报错。
2、nginx 不多说,直接终端输入 brew -install nginx(或者你自己看文档怎么安装)。 完事之后nginx -version 看看(这一步没什么用……)
2-1、访达内搜索 nginx.conf 并将它打开。 内容最上面有三条错误日志,打开不打开,看自己。 server下原本的端口号是8080,将它改回80端口。 然后将php部分解注释。并且修改一部分代码。如图:
2-2、一般来说我们的项目要修改一下本地域名,方便我们在网页上打开。
修改域名要先修改macos里的hosts文件,同样在访达里搜索hosts,在最后加上一行: 127.0.0.1 你的域名.com 如下:
第二步、在nginx.conf文件同级目录有一个servers的文件夹,如果没有的话在nginx.conf最下面添加
你想起别的名字也行,然后创建一个相同名字的文件夹就好了。 在文件夹下创建 ###.conf 文件,里面内容模仿我写吧。
server {
listen 80;
server_name 你的域名.com;
root 你的项目目录;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
index index.php index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ .php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ {
#root 你的项目目录;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+.php)(/?.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /.ht {
# deny all;
#}
}
里面有一些小坑:比如root 人家是放在location里面的,我的就不行,放在外面就好了。 还有人家原本是 localhost: 9000 我的就要改成127.0.0.1:9000。 以防万一,想我这样配置没错了。
每次改过ngxinx之后记得重启一下。 终端里输入: nginx -s reload 就可以重启了。
最后检查 php-fpm 和 nginx都开启之后,项目数据库什么的自己弄吧。 在浏览器输入你的域名看一下就好了。
至于windows的同学,庆幸你们有 phpstudy 吧! (´▽`) 好气……
以上内容全是凭我的记忆写的,难免缺斤少两。 当时遇到的坑让我痛苦不堪, 有哪些缺少的步骤我想起来再补吧。。。
补充一点,nginx和php-fpm是监听端口相互连接的。端口号一般是9000,
ip+port格式 127.0.0.1:9000
不要弄错啊