Php brew php fpm

dtomasi / default

DNSMasq is used to resolve all domains that end with .dev to 127.0.0.1. So you don´t need to touch hosts-File anymore.

curl -L https://gist.githubusercontent.com/dtomasi/ab76d14338db82ec24a1fc137caff75b/raw/550c84393c4c1eef8a3e68bb720df561b5d3f175/dnsmasq.conf -o /usr/local/etc/dnsmasq.conf sudo curl -L https://gist.githubusercontent.com/dtomasi/ab76d14338db82ec24a1fc137caff75b/raw/550c84393c4c1eef8a3e68bb720df561b5d3f175/dev -o /etc/resolver/dev 
# Start sudo brew services start dnsmasq # Stop sudo brew services stop dnsmasq # Restart sudo brew services restart dnsmasq 
dig testing.a.domain.that.should.point.to.localhost.dev @127.0.0.1 
 brew tap homebrew/dupes && \ brew tap homebrew/php && \ brew install --without-apache --with-fpm --with-mysql php70 

sudo nano /usr/local/etc/php/7.0/php-fpm.d/www.conf

 user = YOUR_USERNAME group = YOUR_GROUP || staff 

sudo brew services start php70

lsof -Pni4 | grep LISTEN | grep php

brew tap homebrew/nginx && \ brew install nginx 
 ## Start Nginx sudo brew services start nginx ## Check if Nginx is running on default port curl -IL http://127.0.0.1:8080 

Output should look like this

HTTP/1.1 200 OK Server: nginx/1.10.0 Date: Sat, 07 May 2016 07:36:32 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 26 Apr 2016 13:31:24 GMT Connection: keep-alive ETag: "571f6dac-264" Accept-Ranges: bytes 

sudo brew services stop nginx

Create missing directories

 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 
# Remove default rm /usr/local/etc/nginx/nginx.conf # Copy mine curl -L https://gist.githubusercontent.com/dtomasi/ab76d14338db82ec24a1fc137caff75b/raw/c7c99476e6d8bd5b23e814c5593861adb9b54765/nginx.conf -o /usr/local/etc/nginx/nginx.conf 
 ## Start Nginx sudo brew services start nginx ## Check if Nginx is running on default port curl -IL http://localhost ## Output should look like this HTTP/1.1 200 OK Server: nginx/1.10.0 Date: Sat, 07 May 2016 08:35:57 GMT Content-Type: text/html Content-Length: 612 Last-Modified: Tue, 26 Apr 2016 13:31:24 GMT Connection: keep-alive ETag: "571f6dac-264" Accept-Ranges: bytes 

Create a folder for our SSL certificates and private keys:

mkdir -p /usr/local/etc/nginx/ssl

Generate 4096 bit RSA keys and the self-sign the certificates in one command:

openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj «/C=US/ST=State/L=Town/O=Office/CN=localhost» -keyout /usr/local/etc/nginx/ssl/localhost.key -out /usr/local/etc/nginx/ssl/localhost.crt

Setup example virtual hosts

These are working presets. But you need to edit Document-Root

curl -L https://gist.githubusercontent.com/dtomasi/ab76d14338db82ec24a1fc137caff75b/raw/c7c99476e6d8bd5b23e814c5593861adb9b54765/default -o /usr/local/etc/nginx/sites-available/default && \ curl -L https://gist.githubusercontent.com/dtomasi/ab76d14338db82ec24a1fc137caff75b/raw/c7c99476e6d8bd5b23e814c5593861adb9b54765/default-ssl -o /usr/local/etc/nginx/sites-available/default-ssl 
ln -sfv /usr/local/etc/nginx/sites-available/default /usr/local/etc/nginx/sites-enabled/default ln -sfv /usr/local/etc/nginx/sites-available/default-ssl /usr/local/etc/nginx/sites-enabled/default-ssl 

Create info.php for testing echo » /path/to/your/document/root

sudo brew services restart nginx curl -IL http://localhost/info.php # Output should look like this HTTP/1.1 200 OK Server: nginx/1.10.0 Date: Sat, 07 May 2016 08:40:36 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive X-Powered-By: PHP/7.0.6 

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

server
listen 80;
server_name localhost;
root /Users/YOUR_USERNAME/Sites;
access_log /Library/Logs/default.access.log main;
location /
include /usr/local/etc/nginx/conf.d/php-fpm;
>
location = /info
allow 127.0.0.1;
deny all;
rewrite (.*) /.info.php;
>
error_page 404 /404.html;
error_page 403 /403.html;
>

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

server
listen 443;
server_name localhost;
root /Users/YOUR_USERNAME/Sites;
access_log /Library/Logs/default-ssl.access.log main;
ssl on;
ssl_certificate ssl/localhost.crt;
ssl_certificate_key ssl/localhost.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location /
include /usr/local/etc/nginx/conf.d/php-fpm;
>
location = /info
allow 127.0.0.1;
deny all;
rewrite (.*) /.info.php;
>
error_page 404 /404.html;
error_page 403 /403.html;
>

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

address=/.dev/127.0.0.1
listen-address=127.0.0.1

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

worker_processes 1 ;
error_log /Library/Logs/nginx/error.log debug ;
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 /Library/Logs/nginx/access.log main ;
sendfile on ;
keepalive_timeout 65 ;
index index.html index.php;
include /usr/local/etc/nginx/sites-enabled/*;
>

This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters

location ~ \.php$
try_files $uri = 404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
>

By section dnsmasq => configure.
Before download the dev in /etc/resolver, must be create the resolver directory.

By sites configuration default in line 15 and default-ssl in line 25 replace with:
rewrite (.*) /info.php;

Replace the correctly curl url for:

After download site configuration, download php-fpm configuration.

MySQL and nginx modules are installed by default in the php70 install (apache is disabled by default).
—without-apache —with-fpm —with-mysql is unneeded as the options no longer exist and you’ll get warnings from brew (it will probably still build fine, but it always hurts my OCD).

In the section
«Test Installation and Start and Test Nginx»
curl -IL http://127.0.0.1:8080
curl -IL http://localhost

I get curl: (7) Failed to connect to 127.0.0.1 port 8080: Connection refused and curl: (7) Failed to connect to localhost port 80: Connection refused

Help! Everything else went fine with no trouble, I just can’t view anything.

@the-interactive-company you might have manually create the /Library/Logs/nginx/ directory

i keep getting bad gateway error when trying to run php files. Im on El Capitan.

This is completely full of bugs and direct rip off of https://blog.frd.mn/install-nginx-php-fpm-mysql-and-phpmyadmin-on-os-x-mavericks-using-homebrew/ for an older version of PHP.
It does more damage that usefulness — cannot even get HTML to work now.

@chaeMil your php-fpm instance is not running.

Some corrections to make this thing works:

on PHP-FPM, in Configure ( sudo nano /usr/loca/etc/php7.0/php-fpm.d/www.conf ), use:

user = YOUR_USERNAME group = staff 

(don’t need the YOUR_GROUP || staff)

After Stop Nginx, Create missing directories and Configure nginx.conf , edit nginx.conf and make following changes:

remove the line error_log /Library/Logs/nginx/error.log debug;

inside http section, insert/update the following lines:

remove sendfile on;

then, the php-fpm must be configured.

create a file in /usr/local/etc/nginx/conf.d/php-fpm with the following content:

and finally, configure the virtual hosts.

edit the files /usr/local/etc/nginx/sites-available/default and /usr/local/etc/nginx/sites-available/default-ssl , and remove the files access_log (access log is already configured in nginx.conf

I don’t remember if this is all that I changed, but worked fine after this.

Thank you for wasting my time with this buggy shit.

@tobecwb : your config are correct just in the nginx.conf at the header it’s important to add
user YOUR_NAME YOUR_GROUP;
without this you have an 403 error

Here you find a good config nginx website

I cannot tap to homebrew/dupes. When I run command «brew tap homebrew/dupes». I got this message: «Error: homebrew/dupes was deprecated. This tap is now empty as all its formulae were migrated». How’s about this issue?

@thanhoangxuannghiep I don’t think you need homebrew/dupes anymore, it looks like everything you need is available from Homebrew core.

sudo nginx -t
nginx: [emerg] open() «/usr/local/etc/nginx/conf.d/php-fpm» failed (2: No such file or directory) in /usr/local/etc/nginx/sites-enabled/default:9
nginx: configuration file /usr/local/etc/nginx/nginx.conf test failed

Why php-fpm is not in conf.d folder?

Some corrections to make this thing works:

on PHP-FPM, in Configure ( sudo nano /usr/loca/etc/php7.0/php-fpm.d/www.conf ), use:

user = YOUR_USERNAME group = staff 

(don’t need the YOUR_GROUP || staff)

After Stop Nginx, Create missing directories and Configure nginx.conf , edit nginx.conf and make following changes:

worker_process auto;

remove the line error_log /Library/Logs/nginx/error.log debug;

inside http section, insert/update the following lines:

access_log /usr/local/var/log/nginx/access.log;

error_log /usr/local/var/log/nginx/error.log;

remove sendfile on;

then, the php-fpm must be configured.

create a file in /usr/local/etc/nginx/conf.d/php-fpm with the following content:

and finally, configure the virtual hosts.

edit the files /usr/local/etc/nginx/sites-available/default and /usr/local/etc/nginx/sites-available/default-ssl , and remove the files access_log (access log is already configured in nginx.conf

I don’t remember if this is all that I changed, but worked fine after this.

Thanks for your php-fpm configuration content! It save my day!

Источник

Читайте также:  Session register php global
Оцените статью