导航:首页 > 编程语言 > 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相关的资料

热点内容
华为服务器有什么好 浏览:699
程序员和测试之间的关系 浏览:945
加密蚊帐什么意思 浏览:149
javalistclear 浏览:607
哪个app上民宿多靠谱 浏览:827
重庆服务器租用哪里有云服务器 浏览:453
土星模拟器文件夹 浏览:902
文件夹文件袋文件盒 浏览:695
云服务器打开f8指令 浏览:243
盈透证券加密币 浏览:72
阿里云服务器初始密码怎么修改 浏览:266
服务器怎么设定公用网络 浏览:99
程序员自己尝尿检测出糖尿病 浏览:593
打印添加pdf 浏览:932
苹果解压专家账号 浏览:844
度晓晓app为什么关闲 浏览:228
net文件是伪编译码吗 浏览:149
伴随矩阵的matlab编程 浏览:63
单片机和h桥是什么意思 浏览:314
51单片机光控设计论文 浏览:653