作为一个的勤杂工,近期因公司内部信息化的需求,给新进员工提供基础的知识培训和介绍,也为了给公司内部建立一个沟通交流的平台,百度找了开源的百科系统HDwiki和开源的问答系统Tipask问答系统,蛋痛的这两套系统均是php+mysql开发,作为一个有多年.net开发经验的老鸟,面对着这些无法下一步解决的系统部署,心里一遍又一遍地感叹微软的好。

在windows server + IIS + php 7环境内部署Tipask时出现了各种问题,面对着php.ini的配置一时也不知道如何入手,然后切换到centos 7 + nginx + php5.6上。

在centos上安装php,我这边采用的是Webtatic源,Webtatic上最新php版本为7.2,因HDwiki不支持最新的php 7.2,所以选择了5.6版。使用webtatic提供的源进行php的安装非常简单,可参见官方安装步骤

#安装Webtati的yum仓库
yum install epel-release
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm #安装php及插件
yum install php56w php56w-fpm php56w-opcache #查询php插件并安装
yum search php56w
yum install 插件名称

php安装完成后,配置nginx进行测试。

[root@localhost conf.d]# vi /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name localhost; #charset koi8-r;
#access_log /var/log/nginx/host.access.log main; location / {
root /usr/share/nginx/html;
# 默认页增加index.php
index index.php index.html index.htm;
} #error_page 404 /404.html; # redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
# include fastcgi_params;
#}
#去掉location ~ \.php$配置节前面的#
location ~ \.php$ {
root html;
#php-fpm默认的监听端口为9000
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# 文件位置修改为/usr/share/nginx/html
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
} # deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}

/usr/share/nginx/html文件夹下增加index.php文件。文件内容如下:

<?php
phpinfo()
?>

重启nginx服务,启动php-fpm服务。

#重新载入nginx
nginx -s reload #将php-fpm设置为开启启动
systemctl enable php-fpm.service
#启动php-fpm服务
systemctl start php-fpm.service

在浏览器中访问index.php页面,出现下图界面说明配置成功。

php-fpm默认监听的端口号为9000,如果我们想修改端口号或部署多个系统在不同的端口号时应该如何做呢?

1. 修改监听的端口

通过查看php-fpm的配置文件/etc/php-fpm.conf可以看到include=/etc/php-fpm.d/*.conf的配置,在/etc/php-fpm.d/文件夹中存在www.conf配置文件,打开文件编辑listen=127.0.0.1:9000,将端口号改为其他端口号,然后重启php-fpm.service服务。重启完后,修改nginx配置并重启,即可生效。

2. 部署多个系统在不同的端口号

经检查php-fpm的相关配置文件有:

  1. /etc/php-fpm.conf
  2. /etc/php-fpm.d/www.conf
  3. /var/run/php-fpm/php-fpm.pid
  4. /usr/lib/systemd/system/php-fpm.service

当需要部署多个系统在不同的端口时,可以复制上述4个文件,修改2中的监听端口号,修改4中的启动项,使用-y 制定php-fpm启动的配置文件即可。

ccentos 7下安装php5.6并使用nginx + php-fpm部署多个不同端口网站的更多相关文章

  1. Linux下安装php环境并且配置Nginx支持php-fpm模块[www]

    Linux下安装php环境并且配置Nginx支持php-fpm模块 http://www.cnblogs.com/freeweb/p/5425554.html 5分钟搭建 nginx +php --- ...

  2. windows下安装php5.2.*,php5.3.*,php5.4.*版本的memcache扩展(转)

    拓展安装调试方法: 编写调试php文件 <?php  memcache();  通过命令行执行测试,因为php拓展安装成功与否与apache无关,所以没必要不断重启apache去看phpinfo ...

  3. windows下安装php5.2.*,php5.3.*,php5.4.*版本的memcache扩展

    注:如使用集成环境成功率低,请自行配置php apache,表示win7下wamp php5.4.3基础上配置拓展,成功率极低.费时. 拓展安装调试方法: 编写调试php文件 <?php  me ...

  4. 【CNMP系列】CentOS7.0下安装PHP5.6.30服务

    上一节我们讲过了如何在CentOS7.0下安装MySql服务,如果没有看到欢迎页面的朋友,可以加我的个人微信详聊:litao514148204 附上一节地址:http://www.cnblogs.co ...

  5. 4、CentOS6.5下安装php5.3

    操作系统:CentOS6.5 环境:Apache2.2安装成功.可查看:http://www.centoscn.com/image-text/install/2014/0505/2910.html M ...

  6. Ubuntu 16.04系统下安装PHP5.6*

    Ubuntu 16.04系统默认php7,并没有php5*的包,所以需要自己安装: 方法: 1.删除所有的php包列出安装的php包,dpkg -l | grep php| awk '{print $ ...

  7. 安装php7.2并且整合nginx且分开部署

    1.安装php 7.2 2.php配置 3.nginx配置 4.测试 5.报错与解决 6.利用upstream实现负载均衡 1.安装php 7.2 启动容器: liwangdeMacBook-Air: ...

  8. linux下安装PHP5.5

    下载安装包后,在安装php之前必须先安装libxml2,因此可以通过下载libxml2安装包,编译安装 我通过yum -y install libxml2 libxml2-devel(不安装这个的话, ...

  9. Win2003下安装PHP5.2.0+MySql5.0.27+PHPMyAdmin2.9.1的配置方法

    先下载所需要安装的东东~~ PHP 5.2.0 官方下载地址:http://www.php.net/downloads.php mysql-5.0.27 官方下载地址:http://dev.mysql ...

随机推荐

  1. 【DFS序】【莫队算法】【权值分块】bzoj2809 [Apio2012]dispatching

    题意:在树中找到一个点i,并且找到这个点子树中的一些点组成一个集合,使得集合中的所有点的c之和不超过M,且Li*集合中元素个数和最大 首先,我们将树处理出dfs序,将子树询问转化成区间询问. 然后我们 ...

  2. 【二分图判定】hdu3478 Catch

    详细的题解:http://www.docin.com/p-517243379.html 一个图是二分图 等价于 其至少有两个节点且没有奇环. 二分图判定的方法:从任意点出发进行一次dfs黑白染色,若某 ...

  3. 十. 图形界面(GUI)设计6.文本框和文本区

    在图形界面中,文本框和文本区是用于信息输入输出的组件. 文本框 文本框(JTextField)是界面中用于输入和输出一行文本的框.JTextField类用来建立文本框.与文本框相关的接口是Action ...

  4. Androids中数据库的使用SQLite

    (一) 知识点: SQLite3支持的数据类型:NULL,INTEGER,REAL(浮点数字),TEXT(字符串文本),BLOB(二进制对象),虽然他支持的类型只有五种,但实际上sqlite3也接受v ...

  5. EditText中禁止输入中文的方法

    应用场景 在Android应用中有时需要EditText中只允许输入约定的一些字符,禁止输入其他字符.这里列举了一些可能的应用场景. 1. 场景一 在通讯录保存好友信息界面中填写好友的电话号码时,应当 ...

  6. Linux下#!/usr/bin/env bash和#!/usr/bin/bash、#!/bin/bash的比较

    #!/usr/bin/env bash #在不同的系统上提供了一些灵活性. #!/usr/bin/bash #将对给定的可执行文件系统进行显式控制. 通过/usr/bin/env运行程序,用户不需要去 ...

  7. select * from sys.sysprocesses

    MSDN:包含正在 SQL Server 实例上运行的进程的相关信息.这些进程可以是客户端进程或系统进程. 视图中主要的字段: 1. Spid:Sql Servr 会话ID 2. Kpid:Windo ...

  8. sqlserver 获取系统用户表结构信息

    SELECT (case when a.colorder=1 then d.name else null end) 表名, a.colorder 字段序号,a.name 字段名, (case when ...

  9. SqlServer 执行计划及Sql查询优化初探

    网上的SQL优化的文章实在是很多,说实在的,我也曾经到处找这样的文章,什么不要使用IN了,什么OR了,什么AND了,很多很多,还有很多人拿出仅几S甚至几MS的时间差的例子来证明着什么(有点可笑),让许 ...

  10. ubuntu16.04画图软件kolourpaint

    1.安装kolourpaint sudo apt-get install  kolourpaint4 -y 在里面搜索“kolourpaint”这个软件名.