CentOS安装配置nginx和php
今天买了台阿里云服务器用于日常开发测试(新人9块钱半年)。系统版本CentOS 6.5 64位。
首先安装nginx:
yum install nginx
参考文档:
在CentOS 6上搭建LNMP环境
安装完成后,使用 service nginx start 命令启动nginx出现错误
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
解决方法见:
nginx: [emerg] socket() [::]:80 failed (97: Address family not supported by protocol)
编译安装php-5.6.29:
./configure --prefix=/usr/local/php --enable-fpm --enable-debug
(源码安装建议使用 -- prefix 指定安装路径,一方面不会污染系统目录,另一方面卸载方便。)
提示出错:
configure: error: xml2-config not found. Please check your libxml2 installation.
看来缺东西了:
yum install libxml2-devel
继续执行:
./configure --prefix=/usr/local/php --enable-fpm --enable-debug
make && make install
安装成功。
安装成功后续步骤:
#复制php.ini
cp php.ini-development /usr/local/php/lib/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
#运行php-fpm
/usr/local/php/sbin/php-fpm
#将php命令加入到全局
vi /root/.bash_profile
#将/usr/local/php/bin 加到后面,用:隔开
PATH=$PATH:$HOME/bin:/usr/local/php/bin
#重启
source /root/.bash_profile
参考资料:
centos6.5安装php开发环境
还有一个问题:由于php是源码安装,因此php-fpm不会加入系统服务。
解决办法:
// 进入源码安装目录
cp ./sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
现在就可以通过service命令操作php-fpm了。
参考文章:
Nginx和PHP-FPM的启动/重启脚本
接下来还需要做些配置,让nginx能够解析php。
首先我们给系统添加一个新用户 www。
useradd www;
groupadd www;
修改nginx配置文件(/etc/nginx/nginx.conf)的user项,
user www www;
修改php-fpm的配置文件(/usr/local/php/etc/php-fpm.conf),这里主要是修改其中的user、group项。我直接贴下我的配置好了:
[global]
pid = run/php-fpm.pid
error_log = log/php-fpm.log
log_level = notice
[www]
user = www
group = www
listen = 127.0.0.1:
listen.owner = www
listen.group = www
listen.mode =
pm = static
pm.max_children =
pm.start_servers =
pm.min_spare_servers =
pm.max_spare_servers =
为了测试nginx能否解析php,我们在 /usr/share/nginx/html 目录下建立一个文件index.php,内容为
<?php
echo "this is php index file";
?>
(这个目录下还有个文件index.html,它就对应我们常见的nginx欢迎页)
最后还要做一件事就是修改nginx的配置文件。你可以直接修改nginx.conf文件,也可以修改conf.d目录下的default.conf文件,当然也可以自己新建文件,只要nginx能够加载到就可以。
本文直接修改conf.d目录下的default.conf文件。
核心内容如下:
server {
listen ;
server_name your_server_name;
root /usr/share/nginx/html;
index index.html index.htm index.php;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
到这里,所有工作就完成了。
(如果将index.php放在其他目录,要确保www用户能够访问到这个文件)
浏览器输入 your_server_name/index.php,就能显示我们刚才创建的index.php文件中的内容了。
CentOS安装配置nginx和php的更多相关文章
- centos安装配置nginx
1.安装gcc yum install gcc 2.安装PCRE,zlib,OpenSSL(其中devel,是develop开发包的意思) yum install -y pcre pcre-devel ...
- centos安装配置nginx,ssl生产和配置教程
[一]nginx安装nginx安装带ssl扩展: cd /usr/local/src #进入用户目录wget http://nginx.org/download/nginx-1.15.0.tar.gz ...
- 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定
阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...
- 阿里云服务器Linux CentOS安装配置(零)目录
阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...
- 阿里云服务器Linux CentOS安装配置(七)域名解析
阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...
- 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器
阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 我在阿里云购买的服务器配置 CPU:1核 内存:2G 系统盘:40G 公共镜像:CentOS 6.5 64位 公网带宽:1Mbps ...
- ELK 6安装配置 nginx日志收集 kabana汉化
#ELK 6安装配置 nginx日志收集 kabana汉化 #环境 centos 7.4 ,ELK 6 ,单节点 #服务端 Logstash 收集,过滤 Elasticsearch 存储,索引日志 K ...
- CentOS 7 配置 nginx php-fpm 详细教程
CentOS 7 配置 Nginx 的步骤如下: 首先更新 yum,没有安装 yum 的自行安装 yum update 1. 安装 Nginx yum install nginx 开启 Nginx 并 ...
- 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署
阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...
随机推荐
- Python操作rabbitmq系列(五):根据主题分配消息
接着上一章,使用exchange_type='direct'进行消息传递.这样消息会完全匹配后发送到对应的接收端.现在我们想干这样一件事: C1获取消息中包含:orange内容的消息,并且消息是由3个 ...
- Python pip高级用法
1.pip 高级用法为了便于用户安装和管理第三方库和软件,越来越多的编程语言拥有自己的包管理工 具,如 nodejs 的 npm, ruby 的 gem. Python 也不例外,现在 Python ...
- Django-rest-framework 是个什么鬼?
作者:HelloGitHub-追梦人物 我们首先来回顾一下传统的基于模板引擎的 django 开发工作流: 绑定 URL 和视图函数.当用户访问某个 URL 时,调用绑定的视图函数进行处理. 编写视图 ...
- 搞搞hibernate.current_session_context_class
搞搞hibernate.current_session_context_class 分类: 排错记录2010-09-01 18:14 4155人阅读 评论(3) 收藏 举报 sessionhibern ...
- Java面向对象的总结
面向对象的程序设计 1.面向对象 核心:以类的方式组织代码,以对象的方式封装数据 比喻:也就是说类是没有数据的,给了数据之后的类就是对象 封装 继承 多态 2.方法 a.一个方法只有一个返回值,只有一 ...
- 使用Docker快速搭建PHP开发环境
最近有个同事找过来,希望我对在很早之前写的一个PHP网站上增加一些功能,当时开发使用xampp构建的本地开发环境,但是现在我的笔记本电脑已经更新,没有当时的开发环境.本着尽量不往电脑上装无用软件的原则 ...
- 官方解读:Salesforce线上考试新政与福利
随着疫情在世界范围内的迅速蔓延,Salesforce推出了一系列的线上认证考试改进方案,方便Salesforce从业者在疫情阶段也能够安全.便利地参与考试,今天让我们一起来捋一捋那些,和我们密切相关的 ...
- Java2年开发工作经验面试总结
Java2年开发工作经验面试总结最近换了个公司,从二月底开始面,面到三月底,面了有快二十五家公司.我是一个喜欢总结经验的人,每经过一场面试,我在回来的路上都会仔细回想今天哪些问题可以答的更好,或者哪些 ...
- jmeter5.1.1 生成html报告
1.首先需要准备好 .jmx 脚本 2.修改jmeter.properties文件(把注解去掉,报告中才能展示所需信息) jmeter.save.saveservice.output_format=x ...
- 资料整理:python接口类
1开发原则(七大原则) 一:开放封闭原则 二:接口隔离原则(将不同接口对象一一展现出来,分别调用各自的接口,完成各自的功能) 三:依赖倒置原则 高级模块不能依赖低级模块,可以依赖抽象 规范的定义: 高 ...