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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

确定依赖包安装

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 ,如需转载请自行联系原作者



相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
打赏
0
0
0
0
348
分享
相关文章
Oracle Linux 8.10 编译安装sysbench
Oracle Linux 8.10 编译安装sysbench
68 34
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
简介: 本教程介绍如何基于 Dragonwell 的 Ubuntu 镜像创建一个运行 Nginx 的 Docker 容器。首先从阿里云容器镜像服务拉取基础镜像,然后编写 Dockerfile 确保 Nginx 作为主进程运行,并暴露 80 端口。最后,在包含 Dockerfile 的目录下构建自定义镜像并启动容器,确保 Nginx 在前台运行,避免容器启动后立即退出。通过 `docker build` 和 `docker run` 命令完成整个流程。
152 24
今日小结通过aliyun的本地容器镜像部署我的nginx和php环境
查看Linux、Apache、MySQL、PHP版本的技巧
以上就是查看Linux、Apache、MySQL、PHP版本信息的方法。希望这些信息能帮助你更好地理解和使用你的LAMP技术栈。
60 17
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
344 2
如何排查和解决PHP连接数据库MYSQL失败写锁的问题
通过本文的介绍,您可以系统地了解如何排查和解决PHP连接MySQL数据库失败及写锁问题。通过检查配置、确保服务启动、调整防火墙设置和用户权限,以及识别和解决长时间运行的事务和死锁问题,可以有效地保障应用的稳定运行。
190 25
当你的nginx服务器和php服务器不在一起的时候,这个nginx 的root目录问题
两个服务器的网站代码目录需要对齐,docker容器里面也是一样
docker安装nginx,前端项目运行
通过上述步骤,你可以轻松地在Docker中部署Nginx并运行前端项目。这种方法不仅简化了部署流程,还确保了环境的一致性,提高了开发和运维的效率。确保按步骤操作,并根据项目的具体需求进行相应的配置调整。
358 25
|
4月前
|
golang编译成Linux可运行文件
本文介绍了如何在 Linux 上编译和运行 Golang 程序,涵盖了本地编译和交叉编译的步骤。通过这些步骤,您可以轻松地将 Golang 程序编译成适合 Linux 平台的可执行文件,并在目标服务器上运行。掌握这些技巧,可以提高开发和部署 Golang 应用的效率。
597 14
轻松上手Nginx Proxy Manager:安装、配置与实战
Nginx Proxy Manager (NPM) 是一款基于 Nginx 的反向代理管理工具,提供直观的 Web 界面,方便用户配置和管理反向代理、SSL 证书等。本文档介绍了 NPM 的安装步骤,包括 Docker 和 Docker Compose 的安装、Docker Compose 文件的创建与配置、启动服务、访问 Web 管理界面、基本使用方法以及如何申请和配置 SSL 证书,帮助用户快速上手 NPM。
2542 1
下一篇
oss创建bucket
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等