文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

macOS使用brew安装nginx、mysql 和多版本php,并配置多个php同时运行的环境

2023-09-22 08:41

关注

macOS搭建php开发环境

1、brew、mysql和php的安装

安装brew

/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"

链接: HomebrewCN.

安装Nginx

brew install nginx

安装mysql

brew install mysql

安装多个php版本

安装php5.6

由于homebrew主库中没有PHP7.2 之前的版本,所以需要先挂在第三方的扩展,具体操作如下:

brew tap shivammathur/php
brew search php

brew install shivammathur/php/php@5.6

安装php7.4

brew install php@7.4

安装php8.2

brew install php

2、配置环境

修改php配置文件

sudo vim /opt/homebrew/etc/php/5.6/php-fpm.conf 下的:
listen = 127.0.0.1:9000
改为
listen = 127.0.0.1:9056

sudo vim /opt/homebrew/etc/php/7.4/php-fpm.d/www.conf 下的:
listen = 127.0.0.1:9000
改为
listen = 127.0.0.1:9074

php8.2不用修配置文件,默认监听9000

配置Nginx环境

sudo vim /opt/homebrew/etc/nginx/nginx.conf

修改后:

#user  nobody;worker_processes  1;error_log  /var/logs/error.log;#error_log  logs/error.log  notice;#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {    worker_connections  1024;}http {    include       mime.types;    default_type  application/octet-stream;    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '    #                  '$status $body_bytes_sent "$http_referer" '    #                  '"$http_user_agent" "$http_x_forwarded_for"';    access_log  /var/logs/access.log;    sendfile        on;    #tcp_nopush     on;    #keepalive_timeout  0;    keepalive_timeout  65;    #gzip  on;    # another virtual host using mix of IP-, name-, and port-based configuration    #    #server {    #    listen       8000;    #    listen       somename:8080;    #    server_name  somename  alias  another.alias;    #    location / {    #        root   html;    #        index  index.html index.htm;    #    }    #}    # HTTPS server    #    #server {    #    listen       443 ssl;    #    server_name  localhost;    #    ssl_certificate      cert.pem;    #    ssl_certificate_key  cert.key;    #    ssl_session_cache    shared:SSL:1m;    #    ssl_session_timeout  5m;    #    ssl_ciphers  HIGH:!aNULL:!MD5;    #    ssl_prefer_server_ciphers  on;    #    location / {    #        root   html;    #        index  index.html index.htm;    #    }    #}    include servers/*;}

检查一下是否配置正确:nginx -t
如果报文件权限问题:chmod -R 777 /var/logs

配置站点1:
cd /opt/homebrew/etc/nginx/servers下新建站点配置文件如:
sudo vim test1.conf
内容如下:

server {    listen       80;    server_name  localhost;    # 配置项目路径    root   /Library/WebServer/Documents/php/test1/public;     #access_log  logs/host.access.log  main;    location / {        index  index.html index.htm index.php;        if (!-e $request_filename) {            rewrite  ^(.*)$  /index.php?s=/$1  last;            break;        }    }    #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;    }    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000    location ~ \.php$ {    # 9074上面设置的监听端口,加载php7.4        fastcgi_pass   127.0.0.1:9074;        fastcgi_index  index.php;        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;        include        fastcgi_params;    }}

配置站点2:
cd /opt/homebrew/etc/nginx/servers下新建站点配置文件如:
sudo vim test2.conf
内容如下

server {    listen       80;    server_name  localhost;    # 配置项目路径    root   /Library/WebServer/Documents/php/test2;     #access_log  logs/host.access.log  main;    location / {        index  index.html index.htm index.php;        if (!-e $request_filename) {            rewrite  ^(.*)$  /index.php?s=/$1  last;            break;        }    }    #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;    }    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000    location ~ \.php$ {    # 9056上面设置的监听端口,加载php5.6        fastcgi_pass   127.0.0.1:9056;        fastcgi_index  index.php;        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;        include        fastcgi_params;    }}

3、最后设置php-fpm开机自启

/opt/homebrew/opt/php@5.6 下的homebrew.php@5.6.service
/opt/homebrew/opt/php@7.4 下的homebrew.php@7.4.service
/opt/homebrew/opt/php@8.2 下的homebrew.php@8.2.service
/opt/homebrew/opt/php 下的homebrew.php.service

复制到

/Library/LaunchAgents下

4、重启

来源地址:https://blog.csdn.net/qq_33682653/article/details/129888345

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯