2014年2月7日 22:34:52

PHP 5.5.9 http://cn2.php.net/distributions/php-5.5.9.tar.bz2

nginx 1.5.10 http://nginx.org/download/nginx-1.5.10.tar.gz

-------------------------------------------

php:

gd

yum -y install gd-devel

php

./configure --prefix=/usr/local/web/php --with-config-file-path=/usr/local/web/php/etc --enable-fpm --enable-mbstring --with-gd --enable-sockets --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd

nginx:

 location / {
root /home/web/html;
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/index.php;
include fastcgi_params;
}

注:

1.第2行,指定网站的根目录,就是指定第5行的$document_root值(如果location层没有这条指令,那么就使用外层的root指令值)

2.第3行,将所有请求转发给守护127.0.0.1:9000的进程

3.第5行,指定转发时将请求转发给哪个文件进行处理,这里 $document_root/index.php => /home/web/html/index.php

4.第6行,附带一些其它参数一并转发

出现 "file not found"问题:

root 指令值最好也定义一份在server块中,这样下文中如果用到$document_root时,就会自动定义为这个值

fastcgi_param 指令值不要写死,写成

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

参考: http://www.nginx.cn/562.html

----------------------------------

编译安装nginx时,问题解决:

如果单独安装pcre,那么./configure时要用到 --with-pcre=/pcre/sourcecode/path (pcre的源码解压缩后的文件夹路径)

不独立安装pcre的话, 只用 yum -y install pcre pcre-devel

ps, pcre是perl的正则库, nginx rewrite 的时候要用到正则表达式

安装完成后,会自动在/etc/init.d下生成启动脚本,文件名字为nginx,使用时可以serviec nginx start/stop.....

----------------------------------

2014年3月2日 14:03:37

php编译时的MYSQL相关配置(如果使用mysqlnd驱动,注意配置PHP.ini指明MYSQL和PHP交流用的socket文件路径,对MYSQL来说PHP也是一个客户端,客户端和MYSQL通信都是用socket文件通信的)

[root@ddd php-5.5.]# ./configure --help | grep mysql
--with-mysql=DIR Include MySQL support. DIR is the MySQL base
mysqlnd the MySQL native driver will be used
--with-mysql-sock=SOCKPATH
--with-mysqli=FILE Include MySQLi support. FILE is the path
to mysql_config. If no value or mysqlnd is passed
--enable-embedded-mysqli
--with-pdo-mysql=DIR PDO: MySQL support. DIR is the MySQL base directory
If no value or mysqlnd is passed as DIR, the
--enable-mysqlnd Enable mysqlnd explicitly, will be done implicitly
--disable-mysqlnd-compression-support
Disable support for the MySQL compressed protocol in mysqlnd
--with-zlib-dir=DIR mysqlnd: Set the path to libz install prefix

-----------------------------------

php-fpm

启动php-fpm后,它会自动加载php的配置文件(没有也不报错)

下边是将php-fpm安装成系统服务所使用的脚本

 #! /bin/sh
### BEGIN INIT INFO
# Provides: php-fpm
# Required-Start: $remote_fs $network
# Required-Stop: $remote_fs $network
# Default-Start:
# Default-Stop:
# Short-Description: starts php-fpm
# Description: starts the PHP FastCGI Process Manager daemon
### END INIT INFO prefix=/usr/local/web/php #编译PHP时的--prefix
exec_prefix=${prefix} php_fpm_BIN=${exec_prefix}/sbin/php-fpm
php_fpm_CONF=${prefix}/etc/php-fpm.conf
php_fpm_PID=${prefix}/var/run/php-fpm.pid #要和php-fpm配置文件中的一致,用来找到当前进程号,然后结束它 php_opts="--fpm-config $php_fpm_CONF" wait_for_pid () {
try= while test $try -lt ; do case "$1" in
'created')
if [ -f "$2" ] ; then
try=''
break
fi
;; 'removed')
if [ ! -f "$2" ] ; then
try=''
break
fi
;;
esac echo -n .
try=`expr $try + `
sleep done } case "$1" in
start)
echo -n "Starting php-fpm " $php_fpm_BIN $php_opts if [ "$?" != ] ; then
echo " failed"
exit
fi wait_for_pid created $php_fpm_PID if [ -n "$try" ] ; then
echo " failed"
exit
else
echo " done"
fi
;; stop)
echo -n "Gracefully shutting down php-fpm " if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit
fi kill -QUIT `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then
echo " failed. Use force-exit"
exit
else
echo " done"
fi
;; force-quit)
echo -n "Terminating php-fpm " if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit
fi kill -TERM `cat $php_fpm_PID` wait_for_pid removed $php_fpm_PID if [ -n "$try" ] ; then
echo " failed"
exit
else
echo " done"
fi
;; restart)
$ stop
$ start
;; reload) echo -n "Reload service php-fpm " if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit
fi kill -USR2 `cat $php_fpm_PID` echo " done"
;; *)
echo "Usage: $0 {start|stop|force-quit|restart|reload}"
exit
;; esac

注意,

1.第一行和第二行之间不要有空行,否则会提示错误(有的话,行首要用#注释)

[root@AY1402041644126082e5Z sbin]# ./php-fpmd start
-bash: ./php-fpmd: /bin/sh^M: bad interpreter: No such file or directory

2.修改第12行到17行的相应文件路径使之和配置文件的配置相对应

3.如果启动时端口被占用: netstat -apn | grep 9000 找到它,用killall kill -9 结束进程,再重新启动

4.php安装的所有路径中没有php.ini也照样可以执行php_info();当然,获取有些需要的配置时会出警告(如时区,mysql的socket路径等),所以PHP.ini和php-fpm.conf是相互配合的,缺一不可

5. 另一个bash(mac可用)

 #!/bin/sh
#=======================================================================================
# php-fpm - this script start and stop the php-fpm daemon
#
# chkconfig on
# description: php-fpm is a FastCGI web server.
# processname: php-fpm
# config: /usr/local/php/etc/php-fpm.conf
# pidfile: /var/run/php-fpm.pid
#=======================================================================================
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin BINFILE="/usr/sbin/php-fpm"
CFGFILE="/etc/php-fpm.conf"
PIDFILE="/var/run/php-fpm.pid"
LOCKFILE="/var/lock/php-fpm.lock"
INIFILE="/etc/php.ini" RETVAL= start() {
[[ -x $BINFILE ]] || exit
[[ -f $CFGFILE ]] || exit $BINFILE -t >/dev/null >& if [[ $? -ne ]]; then
echo "The php-fpm configure has error."
return
fi echo "Starting php-fpm......"
sudo $BINFILE -c ${INIFILE} -y $CFGFILE -g ${PIDFILE}
RETVAL=$?
echo "ok~"
[[ $RETVAL -eq ]] && touch $LOCKFILE return $RETVAL
} stop() {
echo "Shutting down php-fpm......" if [[ -f $PIDFILE ]]; then
kill - `cat ${PIDFILE}`
else
kill - `ps aux | grep php-fpm | awk '/master/{print $2}'`
fi RETVAL=$?
echo "ok~"
[[ $RETVAL -eq ]] && sudo rm -f $LOCKFILE $PIDFILE return $RETVAL
} restart() {
stop
sleep start
sleep RETVAL=$?
return $RETVAL
} reload() {
echo -n $"Reloading php-fpm......" if [[ -f $PIDFILE ]]; then
kill -USR2 `cat ${PIDFILE}`
else
kill -USR2 `ps aux | grep php-fpm | awk '/master/{print $2}'`
fi RETVAL=$?
echo "ok~" return $RETVAL
} case "$1" in
start)
start
;; stop)
stop
;; restart)
restart
;; reload)
reload
;; *)
echo "Usage: service php-fpm {start|stop|restart|reload}"
RETVAL=
esac exit $RETVAL

2016年4月18日 09:46:55 星期一

PHP7默认安装的模块: (在./configure时, 只配置--prefix=xxx参数, 其它--with, --enable都不写的情况下)

Core
ctype
date
dom
fileinfo
filter
hash
iconv
json
libxml
pcre
PDO
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter

2019-8-23 10:42:59 星期五

php 7.3.8 编译参数

因为需要使用php自动生成一些分享图片, 所以安装了图片相关的库

yum install -y libwebp libwebp-devel
./configure  --prefix=/usr/local/web/php-7.3.8 --enable-fpm --with-fpm-user=nginx --with-fpm-group=webserver --with-config-file-path=/usr/local/web/php-7.3.8/etc --enable-mbstring --enable-bcmath --enable-mysqlnd --enable-calendar --enable-sockets --enable-exif --with-mysqli=mysqlnd --with-curl --with-libxml-dir --with-openssl --with-zlib --with-bz2 --with-gd --with-webp-dir --with-jpeg-dir --with-png-dir --with-freetype-dir

安装时,可能会提示内存不够, 通过给Linux创建swap交换空间来解决

dd if=/dev/zero of=/swap bs=1024 count=2048000
mkswap /swap
swapon /swap

参考:

https://www.cnblogs.com/jikexianfeng/p/6103500.html
https://www.cnblogs.com/luoahong/articles/9131870.html

https://blog.csdn.net/wulantian/article/details/36184943

nginx + php + centos 6.3的更多相关文章

  1. Docker 实战(二)——centos7镜像安装nginx,将安装nginx的centos容器生成新的镜像,并导出

    Docker centos7镜像安装nginx 1.安装docker 使用yum安装docker不再重复:见  Linux常用命令 2.pull centos 1)在docker仓库中搜索centos ...

  2. Nginx 安装(CentOS )非yum安装

    Nginx 安装(CentOS ) 一.安装编译工具及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-d ...

  3. How To Install Nginx on CentOS 7(转)

    How To Install Nginx on CentOS 7 PostedJuly 22, 2014 427.4kviews NGINX CENTOS About Nginx Nginx is a ...

  4. ASP.NET Core Docker jexus nginx部署-CentOS实践版

    本文用图文的方式记录了我自己搭建centos+asp.net core + docker + jexus + nginx的整个过程,希望对有同样需求的朋友有一定的参考作用. 本文主要内容如下: cen ...

  5. nginx在centos & ubuntu上的安装

    安装Centos 添加当前账号加入sudoers,具备sudo功能 安装编辑器vim Yum install vim Su root Cd cp /etc/sudoers /etc/sudoers[d ...

  6. Install Nginx on CentOS 7

    To set up the yum repository for RHEL/CentOS, create the file named /etc/yum.repos.d/nginx.repo with ...

  7. nginx的centos和rhel的yum配置安装

    Official Red Hat/CentOS packages To add NGINX yum repository, create a file named /etc/yum.repos.d/n ...

  8. 使用nginx代理centos yum 源

    我们在安装centos 服务器时,可能会有以下情况: 局域网内有若干台服务器,但是只有一台服务器可以连接外网,其余服务器都不可以连接外网,但通过局域网与外网机器联通. 那么我们再使用 yum 安装软件 ...

  9. nginx在centos下的安装

    第一步:打开浏览器下载,再上传到centOS系统中 http://nginx.org/download/ 或者在 centOS系统输入: wget http://nginx.org/download/ ...

  10. 安装Nginx到CentOS(YUM)

    运行环境 系统版本:CentOS Linux release 7.3.1611 软件版本:nginx-1.12.2 硬件要求:无 安装过程 1.配置YUM源 [root@localhost ~]# r ...

随机推荐

  1. Objective-C 语言特点/特性

    Objective-C中 1.所有的类都必须继承自NSObject. 2.所有对象都是指针的形式. 3.用self代替this. 4.使用id代替void*. 5.使用nil表示NULL, 6.只支持 ...

  2. Alpha冲刺——day10

    Alpha冲刺--day10 作业链接 Alpha冲刺随笔集 github地址 团队成员 031602636 许舒玲(队长) 031602237 吴杰婷 031602220 雷博浩 031602634 ...

  3. 微信小游戏 项目配置文件 project.config.json

    一.项目配置文件project.config.json 小程序开发者工具在每个项目的根目录都会生成一个 project.config.json,在工具上做的任何配置都会写入到这个文件,当重新安装工具或 ...

  4. css命名管理混乱?不妨试试BEM

    css的缺陷 我们知道,css使用中一个比较令人烦恼的问题,就是css没有作用域可言,我们写了一个组件或者模块之后,往往希望它们可以四处复用,但是由于css没有作用域,我们给样式命名的时候都会非常小心 ...

  5. MySQL中使用Like模糊查询太慢

    问题:明明建立了索引,为何Like模糊查询速度还是特别慢? Like是否使用索引? 1.like %keyword    索引失效,使用全表扫描.但可以通过翻转函数+like前模糊查询+建立翻转函数索 ...

  6. 【转】AD转换中常用的十种数字滤波法

    在AD采集中经常要用到数字滤波,而不同情况下又有不同的滤波需求,下面是10种经典的软件滤波方法的程序和优缺点分析: 限幅滤波法(又称程序判断滤波法) 中位值滤波法 算术平均滤波法 递推平均滤波法(又称 ...

  7. 【ZJOI2015】诸神眷顾的幻想乡 解题报告

    [ZJOI2015]诸神眷顾的幻想乡 Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日. 粉丝们非常热 ...

  8. maven pom 中的 build——resources 标签 mybatis加载mapper类及.xml文件

    转: maven 理解 2017年12月18日 15:34:31 feicongcong 阅读数:5658   版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn ...

  9. RabbitMQ的安装部署

    RabbitMQ安装部署 一.软件准备 wget http://erlang.org/download/otp_src_19.3.tar.gz wget http://www.rabbitmq.com ...

  10. 「Vue」JS方法学习

    1.构造函数 大写开头的,能被NEW一个新实例,实例即执行回调函数 异步返回数据.then指定回调函数的时候,成功的回调函数必须传,失败的回调可以不传 var fs = require('fs') f ...