Linux-rhel6.4 编译安装PHP,Nginx与php连接

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

确定依赖包安装

gcc gcc-c++ libxml2 libxml2-devel bzip2 bzip2-devel libmcrypt libmcrypt-devel openssl openssl-devel libcurl-devel libjpeg-devel libpng-devel freetype-devel readline readline-devel libxslt-devel perl perl-devel psmisc.x86_64 recode recode-devel libtidy libtidy-devel  

若没安装,挂载系统镜像,从Packages文件夹里面找到安装包安装,或者有yum源的话可直接yum install安装。


可利用镜像自己制作本地yum源:http://kurol.blog.51cto.com/11433546/1927721


从官网获取,编译安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[root@kurolz ~] # wget http://de2.php.net/get/php-5.5.38.tar.gz/from/this/mirror 
[root@kurolz ~] # tar -zxvf php-5.5.38.tar.gz
[root@kurolz php-5.5.38] # ./configure --prefix=/usr/local/php-5.5.0 --with-config-file-path=/usr/local/php-5.5.0/etc --with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local --with-zlib --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd --enable-dom --enable-xml --enable-fpm --with-libdir=lib64
 
......
creating main /internal_functions_cli .c
+--------------------------------------------------------------------+
| License:                                                           |
| This software is subject to the PHP License, available  in  this     |
| distribution  in  the  file  LICENSE.  By continuing this installation |
| process, you are bound by the terms of this license agreement.     |
| If you  do  not agree with the terms of this license, you must abort |
| the installation process at this point.                            |
+--------------------------------------------------------------------+
Thank you  for  using PHP.
config.status: creating php5.spec
config.status: creating main /build-defs .h
config.status: creating scripts /phpize
config.status: creating scripts /man1/phpize .1
config.status: creating scripts /php-config
config.status: creating scripts /man1/php-config .1
config.status: creating sapi /cli/php .1
config.status: creating sapi /fpm/php-fpm .conf
config.status: creating sapi /fpm/init .d.php-fpm
config.status: creating sapi /fpm/php-fpm .service
config.status: creating sapi /fpm/php-fpm .8
config.status: creating sapi /fpm/status .html
config.status: creating sapi /cgi/php-cgi .1
config.status: creating ext /phar/phar .1
config.status: creating ext /phar/phar .phar.1
config.status: creating main /php_config .h
config.status: executing default commands
 
[root@kurolz ~] # make
[root@kurolz ~] # make install
[root@kurolz ~] # cd php-5.5.38
[root@kurolz php-5.5.38] # cp php.ini-production /usr/local/php-5.5.0/etc/php.ini
[root@kurolz php-5.5.38] # cd /usr/local/php-5.5.0/etc/
[root@kurolz etc] # cp php-fpm.conf.default php-fpm.conf
[root@kurolz etc] # cd /usr/local/php-5.5.0/sbin
[root@kurolz sbin] # ./php-fpm


Nginx与php连接

    要点:  

        1:Nginx 默认支持 fastcgi  

        2:php编译开启模块:  

            --enable-fpm  

    连接:  

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@kurolz ~] # vim /usr/local/nginx/conf/nginx.conf
      server {  
             listen       80;  
             server_name  localhost;  
             location / {
                 root   html;
                 index  index.html index.php;
             }
             .......
             location ~ \.php$ {
                 root   html;
                 fastcgi_pass   127.0.0.1:9000;
                 fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                 include   fastcgi_params;
             }
         }


重启nginx:

1
2
[root@kurolz ~] # cd /usr/local/nginx/sbin
[root@kurolz sbin] # ./nginx -s reload


添加php测试文件:

1
2
3
[root@kurolz ~] # cd /usr/local/nginx/html
[root@kurolz ~] # touch info.php
[root@kurolz ~] # vim info.php
1
2
3
<?php
phpinfo();
?>


浏览器测试:

wKioL1kfGlWDkef3AAD-ahlCg6E388.png-wh_50



将pid文件存于var/run中

1
2
[root@kurolz ~] # vim /usr/local/php-5.5.0/etc/php-fpm.conf
pid = run /php-fpm .pid



配置开机启动php-fpm

并可用service  php-fpm  [start | restart | stop]开启、重启、关闭

1
[root@kurolz ~] # vim /etc/init.d/php-fpm


将下列脚本写入/etc/init.d/php-fpm中,12-15行的路径自己修改

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
#!/bin/sh
        #
        # php-fpm - this script starts and stops the php-fpm daemin
        #
        # chkconfig: - 85 15
        # processname: php-fpm
        # config:      /usr/local/php/etc/php-fpm.conf
        set  -e
        PATH= /usr/local/sbin : /usr/local/bin : /sbin : /bin : /usr/sbin : /usr/bin
        DESC= "php-fpm daemon"
        NAME=php-fpm
        DAEMON= /usr/local/php-5 .5.0 /sbin/php-fpm 
        CONFIGFILE= /usr/local/php-5 .5.0 /etc/php-fpm .conf
        PIDFILE= /usr/local/php-5 .5.0 /var/run/php-fpm .pid
        SCRIPTNAME= /etc/init .d /php-fpm
        
        # If the daemon file is not found, terminate the script.
        test  -x $DAEMON ||  exit  0
        d_start(){
            $DAEMON -y $CONFIGFILE ||  echo  -n  " already running"
        }
        d_stop(){
            kill  -QUIT ` cat  $PIDFILE` ||  echo  -n  " no running"
        }
        d_reload(){
            kill  -HUP ` cat  $PIDFILE` ||  echo  -n  " could not reload"
        }
        case  "$1"  in
            start)
                echo  -n  "Starting $DESC: $NAME"
                d_start
                echo  "."
                ;;
            stop)
                echo  -n  "Stopping $DESC: $NAME"
                d_stop
                echo  "."
                ;;
            reload)
                echo  -n  "Reloading $DESC configuration..."
                d_reload
                echo  "Reloaded."
                ;;
            restart)
                echo  -n  "Restarting $DESC: $NAME"
                d_stop
                # Sleep for two seconds before starting again, this should give the nginx daemon some time to perform a graceful stop
                sleep  2
                d_start
                echo  "."
                ;;
            *)
                echo  "Usage: $SCRIPTNAME {start|stop|restart|force-reload)"  >&2
                exit  3
                ;;
        esac
        exit  0


赋予php-fpm任何用户可执行权限

1
[root@kurolz ~] # chmod a+w /etc/init.d/php-fpm


设置开机启动

1
[root@kurolz ~] # chkconfig php-fpm on




      本文转自谢育政 51CTO博客,原文链接:http://blog.51cto.com/kurolz/1927720 ,如需转载请自行联系原作者



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
146 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
24天前
|
Ubuntu 应用服务中间件 Linux
Linux下搭建Nginx环境的搭建
Linux下搭建Nginx环境的搭建
|
30天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
82 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
1月前
|
Linux 编译器 C语言
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
【Linux快速入门(一)】Linux与ROS学习之编译基础(gcc编译)
|
1月前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
89 0
Mac os 安装 nginx 教程(success)
|
17天前
|
Linux
Linux - 如何编译源码安装软件
源码编译安装通常包括三个步骤:1) `./configure` 检测平台特征和依赖项,生成 Makefile;2) `make` 编译源码,生成可执行文件;3) `make install` 将可执行文件安装到指定目录并配置环境变量。
31 0
|
1月前
|
Linux 网络安全
Linux虚拟机与主机和Xshell的连接问题解决
Linux虚拟机与主机和Xshell的连接问题解决
73 1
|
1月前
|
应用服务中间件 Linux nginx
Linux下操作Nginx相关命令
Linux下操作Nginx相关命令
|
1月前
|
Linux 编译器 C语言
Linux c/c++之多文档编译
这篇文章介绍了在Linux操作系统下使用gcc编译器进行C/C++多文件编译的方法和步骤。
39 0
Linux c/c++之多文档编译
|
1月前
|
Ubuntu 搜索推荐 应用服务中间件
Nginx安装与使用
Nginx安装与使用