开发环境安装指南

Php7+Nginx+PostgeSql+Redis+Ssdb


1.环境

1.操作系统:macOS Sierra 10.12.6
2.xcode (可在Mac App Store 自行下载)
3.所有的软件源码放在~/src目录
4.所有的开发项目源码放在~/projects目录

2.安装前的准备
  1. 安装之前请确认是否安装”xcode”,可解决安装软件时的大部分依赖问题。

  2. 安装mac包的管理工具”brew”。

    $ :xcode-select --install
    $ :ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  3. 安装wget

    $ :brew install wget
  4. 安装git

    $ :brew install git
  5. 安装依赖

    $ :brew install  readline libmcrypt freetype libpng jpeg mcrypt mhash openssl re2c ImageMagick bison autoconf ffmpeg ImageMagick pcre zlib
3.Nginx安装步骤
    $ :cd ~/src
    $ :wget http://nginx.org/download/nginx-1.8.0.tar.gz
    $ :tar -zxf nginx-1.8.0.tar.gz
    $ :./configure --with-http_ssl_module --with-ld-opt="-L/usr/local/opt/openssl/lib" --with-cc-opt="-I/usr/local/opt/openssl/include"
    $ :make
    $ :sudo make install
    # --将nginx加入环境变量
    $ :vim ~/.bash_profile
    # --在.bash_profil文件加入
    export PATH=/usr/local/nginx/sbin:$PATH
    # --更新环境变量
    $ :source ~/.bash_profile
    # --nginx 相关命令
    # --nginx start
    $ :sudo nginx -c /usr/local/nginx/conf/nginx.conf
    # --nginx stop
    $ :sudo nginx -s stop
    # --nginx reload
    $ :sudo nginx -s reload

安装完成之后可在浏览器(localhost:80)访问,如果访问失败检查(/etc/hosts)文件是否配置”127.0.0.1 localhost”或是查看端口是否被占用

4.PostgreSQL数据库安装步骤
    $ :cd ~/src
    $ :wget https://ftp.postgresql.org/pub/source/v9.3.5/postgresql-9.3.5.tar.gz
    $ :tar -zxf postgresql-9.3.5.tar.gz 
    $ :cd postgresql-9.3.5
    $ :./configure
    $ :make
    $ :sudo make install
    # --数据库的相关设置
    # --配置环境变量
    $ :vim ~/.bash_profile
    # --在.bash_profile文件中加入
    export PGDATA=/Users/apple/postgresql/data
    export PATH=PATH=/usr/local/pgsql/bin:$PATH
    # --PATH生效
    $ :source ~/.bash_profile
    # --初始化数据库
    $ :initdb
    # --启动数据库
    $ :pg_ctl start
    # --创建数据库用户postgres
    $ :createuser postgres -s(创建最高权限用户,类似mysql的root)
    # --进入数据库客户端
    $ :psql -U postgres
    # --数据库常用命令
    $ :\l          #显示所有数据(L小写)
    $ :\c dataname #连接dataname数据库
    $ :\q          #退出客户端
    $ :\d          #所有当前库的所有表
    $ :\d tablename#查看tablename的表字段
5.Redis安装步骤
    $ :cd ~/src
    $ :wget http://download.redis.io/releases/redis-3.0.2.tar.gz
    $ :tar -zxf redis-3.0.2.tar.gz
    $ :cd redis-3.0.2
    $ :make
    $ :sudo make install
    # --redis配置
    $ :cd ~
    $ :mkdir redis
    # --把~/src/redis-3.0.2/redis.conf复制到~/redis/
    $ :cp ~/src/redis-3.0.2/redis.conf ~/redis/
    # --修改redis.conf,修改daemonize yes
    # --后台启动redis
    $ :redis-server redis.conf &
    # --启动redis client
    $ :redis-cli -p 6379
6.SSDB安装步骤
    $ :cd ~/src
    $ :wget --no-check-certificate https://github.com/ideawu/ssdb/archive/master.zip
    $ :unzip master
    $ :cd ssdb-master
    $ :make clean
    $ :make
    # --ssdb默认的安装路径在(/usr/local/ssdb)
    $ :sudo make install
    # --配置环境变量
    $ :vim ~/.bash_profile
    # --将ssdb加入环境变量
    export PATH=/usr/local/ssdb:$PATH
    # --环境变量生效
    $ :source ~/.bash_profile

    # --ssdb启动配置
    $ :cd ~
    $ :mkdir ssdb
    # --复制ssdb.conf到~/ssdb/目录
    $ :cp ~/src/ssdb-master ~/ssdb
    # --在~/ssdb目录下创建var文件夹
    $ :mkdir ~/ssdb/var

    # --ssdb基础命令(需要在ssdb.conf所在的目录执行)
    # --start ssdb-server
    $ :ssdb-server -d ssdb.conf
    # --start ssdb-client
    $ :ssdb-cli -p 8888
    # --stop ssdb-server
    $ :ssdb-server ssdb.conf -s stop
7.Php7安装步骤
    $ :cd ~/src
    $ :wget http://cn2.php.net/distributions/php-7.1.4.tar.gz
    $ :tar -zxf php-7.1.4.tar.gz
    $ :./configure --with-pgsql --with-pdo-pgsql --with-openssl=/usr/local/opt/openssl/ --with-mcrypt --enable-zip --enable-mbstring --enable-fpm --enable-opcache  --with-curl --with-libedit=/usr/local/opt/libedit  --enable-pcntl   --enable-sysvmsg  --with-zlib-dir=/usr/local/opt/zlib   --with-gd --with-jpeg-dir=/usr/local/opt/jpeg/  --with-png-dir=/usr/local/opt/libpng/ --with-freetype-dir=/usr/local/opt/freetype --with-iconv=/usr/local/opt/libiconv/  --enable-bcmath
    $ :make
    $ :sudo make install

当执行./configure之后没有生成Makefile文件时,请检查/usr/local/Cellar下是否存在libxml2文件夹,如果不存在,则$ :brew install libxml2,如果存在,则需要在./configure命令后面指明libxml2文件夹的位置

    # --在之前的./configure命令后面添加 
    --with-libxml-dir=/usr/local/Cellar/libxml2/
    # --PHP编译完成之后,在源代码目录执行一下命令:
    $ :cp php.ini-production /usr/local/lib/php.ini
    # --编辑php.ini文件
    $ :vim /usr/local/lib/php.ini
    # --查找timezone修改
    date.timezone = "Asia/Shanghai"
    always_populate_raw_post_data = -1

    # --查找max_execution_time,修改执行时间
    max_execution_time = 300

    # --在PHP源代码目录,执行一下命令,安装fpm
    $ :sudo cp sapi/fpm/php-fpm.conf /usr/local/etc/
    $ :sudo cp sapi/fpm/php-fpm  /usr/local/bin/

    # --修改fpm配置
    $ :vim /usr/local/etc/php-fpm.conf
    # --查找clear_env,修改
    clear_env=no
    # --最长执行时间
    request_terminate_timeout = 300

    # 打开PHP错误日志输出到php_error.log文件
    catch_workers_output = yes
    # --将以下内容拷贝到/usr/local/sbin/fpm中
    $ :vim /usr/local/sbin/fpm


    #!/bin/bash
    USER=`whoami`

    PHP_CGI=/usr/local/sbin/php-fpm
    PHP_CGI_NAME=`basename $PHP_CGI`
    RETVAL=0

    start() {
          echo -n "Starting PHP FPM: "
          $PHP_CGI
          RETVAL=$?
          echo "$PHP_CGI_NAME."
    }
    stop() {
          echo -n "Stopping PHP FPM: "
          killall -QUIT  -u $USER php-fpm
          RETVAL=$?
          echo "$PHP_CGI_NAME."
    }

    case "$1" in
        start)
          start
      ;;
        stop)
          stop
      ;;
        restart)
          stop
          start
      ;;
        *)
          echo "Usage: fpm {start|stop|restart}"
          exit 1
      ;;
    esac
    exit $RETVA


    # --将fpm文件改为可执行文件 确保fpm在环境变量PATH中
    $ :chmod 777 /usr/local/sbin/fpm
    # --启动: 
    $ :fpm start
    # --关闭: 
    $ :fpm stop
    # --重启: 
    $ :fpm restart
    # --注意,更改环境变量,必须要重启
8.Phalcon框架安装
    $ :cd ~/src
    $ :wget https://github.com/phalcon/cphalcon/archive/v3.1.2.tar.gz -O cphalcon-3.1.2.tar.gz
 tar -zxvf cphalcon-3.1.2.tar.gz
    $ :cd cphalcon-3.1.2/build
    $ :sudo ./install

    # --php添加phalcon框架
    $ :vim /usr/local/lib/php.ini
    # --添加
    extension=phalcon.so
9.Php添加Redis扩展
    $ :cd ~/src
    $ :git clone https://github.com/phpredis/phpredis.git
    $ :cd phpredis/
    $ :phpize  # --检查php环境
    $ :./configure
    $ :make
    $ :sudo make isntall

    # --添加
    $ :vim /usr/local/lib/php.ini
    extension = redis.so
10.Php添加SSDB扩展

    $ :cd ~/src
    $ :git clone https://github.com/jonnywang/phpssdb.git
    # --切换分支
    $ :git checkout php7
    $ :phpize
    $ :./configure
    $ :make
    $ :sudo make install


    # --添加
    $ :vim /usr/local/lib/php.ini
    extension = ssdb.so

    # --重启fpm
    $ :fpm restart
11.关于Nginx配置
    # --在/usr/local/nginx/conf 新建vhost文件夹,方便在外部配置web站点
    $ :mkdir vhost
    $ :vim /usr/local/nginx/conf/nginx.conf

找到http选项,修改


    http {
    ....
    # --打开注释
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '

    # --配置日志(位置在:/usr/local/nginx/logs/)
    access_log  logs/access.log  main;

    # --配置web站点
    include vhost/*.conf;

    # --注释掉server里面的内容
    # server {
    # 
    #
    ...

在vhost文件夹下面新建站点配置文件

    $ :touch test.web.conf

打开文件$ :vim test.web.conf 添加内容


    server {
    # --访问端口
    listen      80;
    # --站点名称
    server_name test.web.com;
    index   index.html index.htm index.php;
    # --路径
    set $root_path '/Users/apple/projects';
    root $root_path;

    try_files $uri $uri @rewrite;

    client_max_body_size 50m;

    location @rewrite {
       rewrite ^/(.*)$ /index.php?_url=/$1;
    }

     location ~ \.php {
                fastcgi_pass 127.0.0.1:9000;
                fastcgi_index index.php;

                include fastcgi_params;
                fastcgi_split_path_info       ^(.+\.php)(/.+)$;
                fastcgi_param PATH_INFO       $fastcgi_path_info;
                    fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            }

            location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
                 root $root_path;
             }

            location ~ /\.ht {
                    deny all;
            }

    }

在/etc/hosts 文件中添加web站点

    127.0.0.1 test.web.com  

在/Users/apple/projects中新建index.php测试


    # --index.php
    <?php
        echo "Hello World?";
        phpinfo();
    ?>

访问index.php

在浏览器中输入[test.web.com/index.php]访问,如遇访问不成功,请检查端口是否被占用,或者Nginx服务器是否处于开启状态。
12.配置文件以及开发工具

下载:conf download

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值