热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

macosx系统安装Nginx+PHP服务器环境

---先安装XCode,这样才有GCC等必要开发工具包默认XCode安装完成不会添加命令行支持,需要在XCode的“偏好设置--下载--选择下载命令行支持”--命令行在应用程序--实用工具--终端----安装依赖的库建议通过Macports来进行安装,只需要执行如下指令:su
---先安装XCode,这样才有GCC等必要开发工具包
默认XCode安装完成不会添加命令行支持,需要在XCode的“偏好设置-->下载-->选择下载命令行支持”
--命令行在 "应用程序--> 实用工具-->终端"
----安装依赖的库
建议通过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;
}
红色部分路径需要根据你主机主目录的实际情况填写,也可以用$document_root代替,其值实为PHP配置文件中的basedir一值。

测试方法:
在nginx的html目录下(默认为/usr/local/nginx/html),新建一个文件test.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;

推荐阅读
  • 使用Vultr云服务器和Namesilo域名搭建个人网站
    本文详细介绍了如何通过Vultr云服务器和Namesilo域名搭建一个功能齐全的个人网站,包括购买、配置服务器以及绑定域名的具体步骤。文章还提供了详细的命令行操作指南,帮助读者顺利完成建站过程。 ... [详细]
  • 根据最新发布的《互联网人才趋势报告》,尽管大量IT从业者已转向Python开发,但随着人工智能和大数据领域的迅猛发展,仍存在巨大的人才缺口。本文将详细介绍如何使用Python编写一个简单的爬虫程序,并提供完整的代码示例。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文将深入探讨PHP编程语言的基本概念,并解释PHP概念股的含义。通过详细解析,帮助读者理解PHP在Web开发和股票市场中的重要性。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 本文深入探讨了MySQL中常见的面试问题,包括事务隔离级别、存储引擎选择、索引结构及优化等关键知识点。通过详细解析,帮助读者在面对BAT等大厂面试时更加从容。 ... [详细]
  • 网络运维工程师负责确保企业IT基础设施的稳定运行,保障业务连续性和数据安全。他们需要具备多种技能,包括搭建和维护网络环境、监控系统性能、处理突发事件等。本文将探讨网络运维工程师的职业前景及其平均薪酬水平。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文详细介绍了 MySQL 中 LAST_INSERT_ID() 函数的使用方法及其工作原理,包括如何获取最后一个插入记录的自增 ID、多行插入时的行为以及在不同客户端环境下的表现。 ... [详细]
  • 本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ... [详细]
  • 创建项目:Visual Studio Online 入门指南
    本文介绍如何使用微软的 Visual Studio Online(VSO)创建和管理开发项目。作为一款基于云计算的开发平台,VSO 提供了丰富的工具和服务,简化了项目的配置和部署流程。 ... [详细]
  • 本文详细介绍了在 Windows 7 系统中配置 Nginx 1.10.3 和 PHP 7.1.1 NTS 的步骤,包括修改 PHP 配置文件、处理依赖项以及创建批处理脚本启动和停止服务。重点解释了如何解决常见的运行时错误。 ... [详细]
  • 优化Flask应用的并发处理:解决Mysql连接过多问题
    本文探讨了在Flask应用中通过优化后端架构来应对高并发请求,特别是针对Mysql 'too many connections' 错误的解决方案。我们将介绍如何利用Redis缓存、Gunicorn多进程和Celery异步任务队列来提升系统的性能和稳定性。 ... [详细]
  • 本文旨在回顾并总结近期学习的.NET Core基础知识,通过具体的操作指南加深理解,并为初学者提供实用建议,避免常见的错误和陷阱。内容涵盖CentOS的安装配置、.NET Core环境搭建及网站部署等。 ... [详细]
author-avatar
河南王修华
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有