今天买了台阿里云服务器用于日常开发测试(新人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的更多相关文章

  1. centos安装配置nginx

    1.安装gcc yum install gcc 2.安装PCRE,zlib,OpenSSL(其中devel,是develop开发包的意思) yum install -y pcre pcre-devel ...

  2. centos安装配置nginx,ssl生产和配置教程

    [一]nginx安装nginx安装带ssl扩展: cd /usr/local/src #进入用户目录wget http://nginx.org/download/nginx-1.15.0.tar.gz ...

  3. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

  4. 阿里云服务器Linux CentOS安装配置(零)目录

    阿里云服务器Linux CentOS安装配置(零)目录 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 阿里云服务器Linux CentOS安装配置(二)yum安装svn 阿里云服 ...

  5. 阿里云服务器Linux CentOS安装配置(七)域名解析

    阿里云服务器Linux CentOS安装配置(七)域名解析 1.购买域名 登录阿里云,左侧菜单点击[域名],然后[域名注册],完成域名购买.(一般首年45元) 2.添加域名解析 在域名列表里点击你的域 ...

  6. 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器

    阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器 我在阿里云购买的服务器配置 CPU:1核 内存:2G 系统盘:40G 公共镜像:CentOS 6.5 64位 公网带宽:1Mbps ...

  7. ELK 6安装配置 nginx日志收集 kabana汉化

    #ELK 6安装配置 nginx日志收集 kabana汉化 #环境 centos 7.4 ,ELK 6 ,单节点 #服务端 Logstash 收集,过滤 Elasticsearch 存储,索引日志 K ...

  8. CentOS 7 配置 nginx php-fpm 详细教程

    CentOS 7 配置 Nginx 的步骤如下: 首先更新 yum,没有安装 yum 的自行安装 yum update 1. 安装 Nginx yum install nginx 开启 Nginx 并 ...

  9. 阿里云服务器Linux CentOS安装配置(九)shell编译、打包、部署

    阿里云服务器Linux CentOS安装配置(九)shell编译.打包.部署 1.查询当前目录以及子目录下所有的java文件,并显示查询结果 find . -name *.java -type f - ...

随机推荐

  1. Keepalived实现Nginx负载均衡高可用

    第一章:keepalived介绍 VRRP协议 目的就是为了解决静态路由单点故障问题的 第二章: keepalived工作原理 2.1 作为系统网络服务的高可用功能(failover) keepali ...

  2. 概率专题_概率/ 数学_基础题_ABEI

    上周三讲了概率和概率dp.如果没有涉及其他综合算法,概率这种题主要是思维,先把这部分的东西写完 给个题目链接:https://vjudge.net/contest/365300#problem Hea ...

  3. Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(十)之Inner Classes

    The inner class is a valuable feature because it allows you to group classes that logically belong t ...

  4. stand up meeting 1-6

    今日更新: 1.修复初始最佳战绩显示bug:  初始为击败全国0% 用户 2.挑战结果界面显示“哎,今天的饭又白吃了,回去多吃两碗###”, 去除API返回string中的“###”. 3.分享模块初 ...

  5. cmd 文件/文件夹的一切操作

    dir // 列出目录下所有文件夹 rd dirname // 删除dirname文件夹(空文件夹) rd /s/q dirname // 删除dirname文件夹(非空)

  6. 痞子衡嵌入式:简析i.MXRT1170 Cortex-M4 L-MEM ECC功能特点、开启步骤、性能影响

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是恩智浦i.MXRT1170上Cortex-M4内核的L-MEM ECC功能. 本篇是 <简析i.MXRT1170 Cortex-M ...

  7. 如何将Python项目发布到PyPI

    The Python Package Index (PyPI) is a repository of software for the Python programming language. 如何打 ...

  8. 从源码解读Spring如何解决bean循环依赖

    1 什么是bean的循环依赖 循环依赖的原文是circular reference,指多个对象相互引用,形成一个闭环. 以两个对象的循环依赖为例: Spring中的循环依赖有 3 种情况: 构造器(c ...

  9. php中switch与ifelse的效率分析

    1.当被判断的值是常量(固定不变的值)时,switch的运行效率比ifelse的运行效率高: $jiejie=3;   // 变判断的值为常量 switch($jiejie){   case 1:   ...

  10. java 8 stream中的Spliterator简介

    目录 简介 tryAdvance trySplit estimateSize characteristics 举个例子 总结 java 8 stream中的Spliterator简介 简介 Split ...