今天买了台阿里云服务器用于日常开发测试(新人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. .NET Core 3 WPF MVVM框架 Prism系列之导航系统

    本文将介绍如何在.NET Core3环境下使用MVVM框架Prism基于区域Region的导航系统 在讲解Prism导航系统之前,我们先来看看一个例子,我在之前的demo项目创建一个登录界面: 我们看 ...

  2. synchronized的锁是针对多线程的

    synchronized的锁是针对多线程的,从线程的角度去思考才能真正弄明白. Java的synchronized使用方法总结 1. 把synchronized当作函数修饰符时 这也就是同步方法,那这 ...

  3. 数据结构和算法(Golang实现)(1)简单入门Golang-前言

    数据结构和算法在计算机科学里,有非常重要的地位.此系列文章尝试使用 Golang 编程语言来实现各种数据结构和算法,并且适当进行算法分析. 我们会先简单学习一下Golang,然后进入计算机程序世界的第 ...

  4. 令人迷惑的Gamma

    概述 首先我想说,接触到Gamma的概念也很长时间了,一直没有认真的去学习它.知其然而不知其所以然.最近恰巧学到了这一部分,就想彻底地搞懂它. CRT 说起Gamma,肯定离不开CRT(阴极射线管). ...

  5. 阿里面试官让我实现一个线程安全并且可以设置过期时间的LRU缓存,我蒙了!

    目录 1. LRU 缓存介绍 2. ConcurrentLinkedQueue简单介绍 3. ReadWriteLock简单介绍 4.ScheduledExecutorService 简单介绍 5. ...

  6. bluecms v1.6 sp1 代码审计学习

    前言 正式开始代码审计的学习,拓宽自己的知识面.代码审计学习的动力也是来自团队里的王叹之师傅,向王叹之师傅学习. 这里参考了一些前辈,师傅的复现经验和bluecms审计的心得 安装 install.p ...

  7. 常见web漏洞的整理之SQL注入

    SQL注入: 简介: 全称Structured Query Language,即结构化查询语言,是一种特殊的编程语言,用于数据库中的标准数据查询语言.也被作为关系式数据库管理系统的标准语言. 原理: ...

  8. redis: 持久化(十二)

    RDB配置 RDB 是 Redis 默认的持久化方案.在指定的时间间隔内,执行指定次数的写操作,则会将内存中的数据写入到磁盘中.即在指定目录下生成一个dump.rdb文件.Redis 重启会通过加载d ...

  9. 1-JVM基础

    1-JVM基础 java源码文件,通过javac 转换成class文件. 找到.java文件 词法分析器 tokens流 语法分析器 语义分析器 字节码生成器 转成.class文件 装载 根据全限定路 ...

  10. MVC-基础02

    MVC是Model(模型).View(视图)和Controller(控制). 1)最上面的一层,是直接面向最终用户的"视图层"(View).它是提供给用户的操作界面,是程序的外壳. ...