Linux 系统为 CentOS 7.2


1. 安装 Nginx
  1. 安装 Nginx 依赖包:

    # yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
  2. 安装 Nginx:
    # tar -xzvf nginx-1.10.1.tar.gz
    # cd nginx-1.6.2
    # ./configure --prefix=/usr/local/nginx
    # make && make install
  3. 启动 Nginx:
    # /usr/local/nginx/sbin/nginx
  4. 浏览器访问服务器地址看是否成功,如果不能访问则关闭防火墙:

    # systemctl start firewalld.service   #启动
    # systemctl stop firewalld.service #停止
    # systemctl disable firewalld.service #禁止 firewall 开机启动

    再次访问成功:

    nginx 安装成功
  5. 设置开机启动:
    新建 Nginx 服务文件;

    # vim /lib/systemd/system/nginx.service

    保存以下内容,并设置权限为 754;

    [Unit]
    Description=nginx
    After=network.target [Service]
    Type=forking
    ExecStart=/usr/local/nginx/sbin/nginx start # 如果报错(nginx: invalid option: "start"), 则不加 start 参数
    ExecReload=/usr/local/nginx/sbin/nginx restart
    ExecStop=/usr/local/nginx/sbin/nginx stop
    PrivateTmp=true [Install]
    WantedBy=multi-user.target
    # chmod 754 /lib/systemd/system/nginx.service
    # systemctl enable nginx.service

    重启服务器,访问浏览器成功。查看 Nginx 状态:

    # systemctl status nginx.service
    

    active nginx 服务正在运行

2. 安装 PHP

参考自: http://blog.csdn.net/u010861514/article/details/51926575

  1. 解压文件

    # tar -xzf php-7.0.11.tar.gz
    # cd php-7.0.11/
  2. 安装依赖

    # yum -y install 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

    如果 yum 安装不了,则下载无法安装的包手动编译安装,如下:
    libmcrypt 下载地址:http://sourceforge.net/projects/mcrypt/files/Libmcrypt/

    # tar -xzvf libmcrypt-2.5.8.tar.gz
    # cd libmcrypt-2.5.8
    # ./configure
    # make && make install

    libtidy 下载地址:http://fr.rpmfind.net/linux/rpm2html/search.php?query=libtidy&submit=Search+...
    rpm 包安装:

    # rpm -ivh libtidy-5.1.25-1.fc25.i686.rpm
  3. 编译与配置
    --prefix=/usr/local/php7 主程序文件路径
    --sysconfdir=/etc/php7 配置文件路径
    --with-config-file-path=/etc/php7 php.ini 文件路径

    # ./configure --prefix=/usr/local/php7 --sysconfdir=/etc/php7 --with-config-file-path=/etc/php7 --enable-fpm --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mhash --with-openssl --with-zlib --with-bz2 --with-curl --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-zlib --enable-mbstring --with-mcrypt --enable-sockets --with-iconv-dir --with-xsl --enable-zip --with-pcre-dir --with-pear --enable-session  --enable-gd-native-ttf --enable-xml --with-freetype-dir --enable-gd-jis-conv --enable-inline-optimization --enable-shared --enable-bcmath --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-mbregex --enable-pcntl --with-xmlrpc --with-gettext --enable-exif --with-readline --with-recode --with-tidy
    
    # make
    # make install

      

    如果编译出错,则网上查找解决方案。

  4. 安装成功后拷贝源码包中的 php.ini-development 文件到 PHP 配置文件目录

    # cp php.ini-development /etc/php7/php.ini
  5. fastcgi php-fpm
    # cp /etc/php7/php-fpm.conf.default /etc/php7/php-fpm.conf
    # cp /etc/php7/php-fpm.d/www.conf.default /etc/php7/php-fpm.d/www.conf
    # vi /etc/php7/php-fpm.d/www.conf

    www.conf 默认即可是本机 127.0.0.1 不必修改。

    # 监听地址
    listen = 127.0.0.1:9000
    # 允许的客户端
    listen.allowed_clients = 127.0.0.1
  6. 启动 PHP

    # vi /etc/php7/php-fpm.conf  
    // 打开注释:(不打开注释仅能使用 killall php-fpm 关闭 php) pid = run/php-fpm.pid // 启动: # /usr/local/php7/sbin/php-fpm // 立刻终止 # kill -INT `cat /usr/local/php7/var/run/php-fpm.pid` # kill -TERM `cat /usr/local/php7/var/run/php-fpm.pid` # killall php-fpm // 平滑终止 # kill -QUIT `cat /usr/local/php7/var/run/php-fpm.pid` // 平滑重启 # kill -USR2 `cat /usr/local/php7/var/run/php-fpm.pid`
  7. 加入环境变量

    # vim /etc/profile
    
    末尾添加:
    export PATH=$PATH:/usr/local/php7/sbin:/usr/local/php7/bin # source /etc/profile 立即生效
  8. 设置开机启动

    # vim /lib/systemd/system/php-fpm.service
    # chmod 754 /lib/systemd/system/php-fpm.service
    # systemctl enable php-fpm.service

    文件内容:

    [Unit]
    Description=php-fpm
    After=syslog.target network.target
    [Service]
    Type=forking
    ExecStart=/usr/local/php7/sbin/php-fpm
    ExecReload=/bin/kill -USR2 $MAINPID
    PrivateTmp=true
    [Install]
    WantedBy=multi-user.target

    PHP 服务相关命令:

    # systemctl daemon-reload        修改 serivce 文件后,需要刷新配置文件
    # systemctl (start | restart | reload | stop | enable | disable | status) php-fpm.service

    若果报错(ERROR: unable to bind listening socket for address ...)先把所有 PHP 进程杀掉,然后重启:

    # killall php-fpm
    # systemctl start php-fpm.service
  9. 配置 Nginx 访问 PHP

    # vim /usr/local/nginx/conf/nginx.conf
    
    ### 编辑 server 让 Nginx 支持php:
    server {
    listen 80;
    server_name localhost; location / {
    root html;
    index index.html index.htm index.php;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    } location ~ \.php$ {
    root html;
    fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
    }
    }

     

    访问 PHP 文件,在 Nginx 的 html 目录下创建一个 PHP 文件,访问该文件查看配置信息:

php 安装成功

3. 安装 PostgreSql
    1. 安装依赖包

      # yum install -y gcc.x86_64 glibc.x86_64 glibc-devel.x86_64 vim-enhanced.x86_64 gcc-java apr apr-devel openssl openssl-devel libgcc.x86_64 java-1.8.0-openjdk.x86_64 java-1.8.0-openjdk-devel.x86_64 perl-Module-Install.noarch readline-devel.x86_64
    2. 创建 postgres 用户(一定要创建,不然 root 用户不能启动数据库)
      # adduser postgres
    3. 解压编译安装
      # tar -xzvf postgresql-9.6.0.tar.gz
      # cd postgresql-9.6.0
      # ./configure --prefix=/usr/local/pgdb --enable-thread-safety
      # make
      # make install
    4. 设置权限
      # chown -R postgres.postgres /usr/local/pgdb/
    5. 配置 PostgreSql
      ======= 以下操作必须在 postgres 用户下完成=======
      切换用户

      # su postgres
      $ cd ~ 切换到用户目录

      编辑 .bash_profile 添加以下内容

      $ vim .bash_profile
      
      # 添加以下内容,配置 PGDATA 变量
      PGHOME=/home/postgres
      export PGHOM
      PGDATA=$PGHOME/data
      export PGDATA

      初始化数据文件

      $ cd /usr/local/pgdb
      $ mkdir data
      $ cd /usr/local/pgdb/bin
      $ ./initdb -D ../data 初始化数据文件
      $ ./pg_ctl -D ../data start 启动数据库服务,其中-D选项指定文件存放目录为上一步中生成的data目录

      数据库操作

      $ ./createdb test       创建数据库 test
      $ ./psql test 访问 test

      创建 test 成功

编译安装PHP开发环境的更多相关文章

  1. centos6.5编译安装lamp开发环境

    一.系统以及软件的准备 系统及编译安装包的下载地址:http://pan.baidu.com/s/1jIjqinc   密码:ghc2 说明:由于centos6.5是分卷压缩的,且压缩为三个压缩包,所 ...

  2. ubuntu mint 15 编译安装PHP开发环境

    php 5.3.5(download zip) httpd 2.2.24(download zip) mysql: apt-get install mysql step 1: install mysq ...

  3. win使用MSYS2安装Qt开发环境

    原文链接 MSYS2 下载地址: pacman的具体用法 有pacman的具体使用方法.我们首先对系统升级 我们首先对系统升级 pacman -Syu 就会检测整个系统可以升级的组件,并自动下载安装, ...

  4. Appium移动自动化测试(二)--安装Android开发环境

    继续Appium环境的搭建. 第二节  安装Android开发环境 如果你的环境是MAC那么可以直接跳过这一节.就像我们在用Selenium进行web自动化测试的时候一样,我们需要一个浏览器来执行测试 ...

  5. Appium移动自动化测试(二)--安装Android开发环境(转)

    Appium移动自动化测试(二)--安装Android开发环境 2015-06-04 17:30 by 虫师, 35299 阅读, 23 评论, 收藏, 编辑 继续Appium环境的搭建. 第二节   ...

  6. [树莓派(raspberry pi)] 02、PI3安装openCV开发环境做图像识别(详细版)

    前言 上一篇我们讲了在linux环境下给树莓派安装系统及入门各种资料 ,今天我们更进一步,尝试在PI3上安装openCV开发环境. 博主在做的过程中主要参考一个国外小哥的文章(见最后链接1),不过其教 ...

  7. mac下安装c++开发环境

    mac下安装c++开发环境 1 注册apple id 按照apple注册步骤注册apple id,我注册时遇到如下问题 apple store完成创建apple id步骤中,选择付款方式和账单地址后, ...

  8. 安装gstreamer开发环境

    ubuntu中安装gstreamer开发环境: * 安装gstreamer基本库,工具,以及插件 sudo apt--dev gstreamer-tools gstreamer0.-tools gst ...

  9. 安装ruby开发环境

    如何快速正确的安装 Ruby, Rails 运行环境 对于新入门的开发者,如何安装 Ruby, Ruby Gems 和 Rails 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 ...

随机推荐

  1. 三大视频网站Url的处理保存(视频和图片二选一操作)

    前台Js // 视频处理 var textVideoLink=$("input[name='textVideoLink']").val(); // 去除所有有的引号和空格 var ...

  2. Python归纳 | 爬虫基础知识

    1. urllib模块库 Urllib是python内置的HTTP请求库,urllib标准库一共包含以下子包: urllib.error 由urllib.request引发的异常类 urllib.pa ...

  3. Markdown简易使用

    Markdown 笔记 标题 1.一级标题 2.二级标题 3.三级标题 列表 这是 一个 无序列表 这是 一个 有序列表 引用 这是一条引用 图片与链接 图片 链接 Baidu 粗体与斜体 粗体 斜体 ...

  4. 用ping命令简单的测试 延时、抖动、丢包率

    在DOS命令状态下输入 :ping 202.105.135.211 -t (连续的对该IP地址执行Ping命令,直到被用户以Ctrl+C中断)就会得到下面的结果:Pinging 202.105.135 ...

  5. c#-cs-bs-正则表达式

    C/S     B/S Cs结构:     C/S(Client/Server)客户机/服务器 BS机构:     B/S(Browser/Server)浏览器/服务器       à(未来发展方向) ...

  6. C#基础知识-数组_ArrayList_List(九)

    之前两篇文档讲述了C#中的面向对象的概念,其实这个概念对于很多种语言都是通用的,只不过每种语言具体实现的过程方法不一样,比如Java.C++.python等,这些都是很流行的面向对象的语言在编程语言排 ...

  7. C#中TransactionScope的使用方法和原理(摘)

    出自51CTO博客:http://cnn237111.blog.51cto.com/2359144/1271600 在.net 1.1的时代,还没有TransactionScope类,因此很多关于事务 ...

  8. JavaScript各类型变量和对象

    一.javascript支持的数据类型: var x=1 数字 var x=0.1   小数 var x=true/false bool var x="abc"      字符串 ...

  9. HashMap和Hashtable的比较

    相同点 HashMap和Hashtable都是存储“键值对(key-value)”的散列表,而且都是采用拉链法解决hash冲突的.但是1.8中,hashmap引入了红黑树.Hashtable没有引入红 ...

  10. java常用API之基本类型包装类

    基本类型包装类概述: 在实际程序使用中,程序界面上用户输入的数据都是以字符串类型进行存储的. 而程序开发中,我们需要把字符串数据,根据需求转换成指定的基本数据类型. 想实现字符串与基本数据之间转换,需 ...