Mac OS X下安装nginx+php及测试
---先安装XCode,这样才有GCC等必要开发工具包
默认XCode安装完成不会添加命令行支持,需要在XCode的“偏好设置-->下载-->选择下载命令行支持”
--命令行在 "应用程序--> 实用工具-->终端"
----安装依赖的库
建议通过Macports来进行安装,(附MacPorts安装使用说明)。只需要执行如下指令:
sudo port install pcre
如果你已经通过自己下载pcre包来make & make install,很有可能会由于安装的pcre路径问题,在安装其他软件时会出问题。想要删除安装好的pcre,则只需要在下载下来的pcre解压文件夹下,执行make uninstall。
----安装Nginx
方法一:仍然通过Macports,执行下面语句就ok
sudo port install nginx spawn-fcgi
方法二:
$curl -O http://nginx.org/download/nginx-0.8.53.tar.gz
$tar zxvf nginx-0.8.53.tar.gz
$cd nginx-0.8.53
$./configure --prefix=/usr/local/nginx --conf-path=/usr/local/nginx/conf/nginx.conf
$make
$sudo make install
配置文件为:/usr/local/nginx/conf/nginx.conf
默认安装在/usr/local/nginx
启动:输入以下命令启动Nginx,然后浏览器输入地址http://localhost进行测试,看到很大的字体的Welcome to nginx!就代表安装成功了
/usr/local/nginx/sbin/nginx
推荐关闭方式:
/usr/local/nginx/sbin/nginx -s stop
其他关闭方式:
ps -ef | grep nginx # 找到pid
sudo kill pid
PHP安装:
sudo port install php5 +fastcgi fcgi php5-gd php5-mysql php5-sqlite php5-eaccelerator php5-curl php5-iconv
#配置文件
cd /opt/local/etc/php5
sudo cp php.ini-development php.ini
将时区修改为:date.timezone = Asia/Chongqing
错误级别修改为:error_reporting = E_ALL & ~E_NOTICE
启动:
sudo /opt/local/bin/spawn-fcgi -C 2 -p 9000 -f /opt/local/bin/php-cgi
遇到NGINX PHP “No input file specified”问题,解决方法:
1、 php.ini(/opt/local/etc/php5/php.ini或者/etc/php5/cgi/php.ini)的配置中这两项
cgi.fix_pathinfo=1 (这个是自己添加的)
doc_root= (这行本来就有)
并修改下面:
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/sitepath$fastcgi_script_name;
include fastcgi_params;
}
“/var/www/sitepath”部分路径需要根据你主机主目录的实际情况填写,也可以用$document_root代替,其值实为PHP配置文件中的basedir一值。
测试方法:
在nginx的html目录下(默认为/usr/local/nginx/html),新建一个文件test.php,输入以下测试代码:
<?php
//测试mysql
$link = mysql_connect('localhost', 'root', 'mysql密码');
if (!$link) {
echo "mysql fail!";
} else {
echo "mysql succees";
}
mysql_close();
//输出php信息
phpinfo();
通过http://localhost/test.php访问,如果能正常显示,那恭喜你,ok了。
附nginx, php, mysql快捷启动代码,建议复制保存为startup.sh,每次通过执行./startup.sh,然后输入管理员密码,就一次性开启了三项服务:
#!/bin/sh
sudo /usr/local/nginx/sbin/nginx
sudo /opt/local/bin/spawn-fcgi -C 2 -p 9000 -f /opt/local/bin/php-cgi
sudo /usr/local/mysql/bin/mysqld_safe &
再附上nginx, php, mysql快捷关闭代码,建议复制保存为shutdown.sh,每次通过执行./shutdown.sh就关闭了三项服务:
#!/bin/sh
sudo /usr/local/nginx/sbin/nginx -s stop;
`ps -ef | grep php | head -n1|awk '{print "sudo kill "$2}'`;
sudo /usr/local/mysql/bin/mysqladmin -uroot -pms shutdown;
版权声明
由 davidzhang创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/66
版权声明
由 davidzhang创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 Gowhich博客( https://www.gowhich.com ),版权所有,侵权必究。
本文永久链接: https://www.gowhich.com/blog/66