zoukankan      html  css  js  c++  java
  • [macOS] macOS下,VirtualBox安装CentOS7.4, 搭建nginx, mysql, PHP5.6&PHP7.1

    准备工作

    网络设置

    相关教程:http://www.jianshu.com/p/e6ba699b5992

    ifcfg-enp0s3配置

    TYPE=Ethernet

    BOOTPROTO=dhcp

    DEFROUTE=yes

    PEERDNS=yes

    PEERROUTES=yes

    IPV4_FAILURE_FATAL=no

    IPV6INIT=yes

    IPV6_AUTOCONF=yes

    IPV6_DEFROUTE=yes

    IPV6_PEERDNS=yes

    IPV6_PEERROUTES=yes

    IPV6_FAILURE_FATAL=no

    IPV6_ADDR_GEN_MODE=stable-privacy

    NAME=enp0s3

    UUID=8a0822ab-f63d-4d41-a2b8-6512a299287a

    DEVICE=enp0s3

    ONBOOT=yes

    ifcfg-enp0s8配置

    TYPE=Ethernet

    BOOTPROTO=static

    DEFROUTE=yes

    PEERDNS=yes

    PEERROUTES=yes

    IPV4_FAILURE_FATAL=no

    IPV6INIT=yes

    IPV6_AUTOCONF=yes

    IPV6_DEFROUTE=yes

    IPV6_PEERDNS=yes

    IPV6_PEERROUTES=yes

    IPV6_FAILURE_FATAL=no

    IPV6_ADDR_GEN_MODE=stable-privacy

    NAME=enp0s8

    UUID=4e67634f-a430-41a6-a8c9-1e65fb728e36

    DEVICE=enp0s8

    ONBOOT=yes

    IPADDR=192.168.56.100

    NETMASK=255.255.255.0

    安装增强工具

    启动虚拟机,点击“设备” => “安装增强功能”

    运行以下命令

    yum install kernel-devel gcc

    安装完成后,做一个连接

    ln -s /usr/src/kernels/3.10.0-514.el7.x86_64 /usr/src/linux

    挂载光盘,安装

    mount /dev/cdrom /mnt

    cd /mnt

    ./VBoxLinuxAdditions.run

    设置开机自动挂载(我没有做这一步)

    vi /etc/rc.d/rc.local

    在最后加上

    mount -t vboxsf shared /mnt

    建立相关目录

    ln -s /media/sf_Project /data/www

    mkdir -p /var/setup

    mkdir -p /var/software

    mkdir -p /data/www/logs/nginx

    mkdir -p /data/www/logs/mysql

    mkdir -p /data/www/logs/php

    nginx

    下载必要文件

    cd /var/setup

    wget http://nginx.org/download/nginx-1.11.10.tar.gz

    wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.40.tar.gz

    wget http://zlib.net/zlib-1.2.11.tar.gz

    wget http://www.canonware.com/download/jemalloc/jemalloc-4.2.1.tar.bz2

    安装依赖

    yum install zlib-devel openssl-devel -y

    安装PCRE

    cd /var/setup/

    tar zvxf pcre-8.40.tar.gz

    cd pcre-8.40/

    ./configure

    make && make install

    安装zlib

    cd /var/setup/

    tar zxvf zlib-1.2.11.tar.gz

    cd zlib-1.2.11

    ./configure

    make && make install

    安装jemalloc

    cd /var/setup/

    tar xjf jemalloc-4.2.1.tar.bz2

    cd jemalloc-4.2.1/

    ./configure

    make && make install

    echo '/usr/local/lib' > /etc/ld.so.conf.d/local.conf

    ldconfig

    配置

    用户配置

    groupadd www

    useradd -g www www -s /sbin/nologin

    chown -R www:www /data/www

    添加用户组

    usermod -a -G vboxsf www

    usermod -a -G vboxsf nobody

    关闭防火墙

    systemctl stop firewalld.service

    关闭开机启动

    systemctl disable firewalld.service

    安装nginx

    cd /var/setup/

    tar zxvf nginx-1.11.10.tar.gz

    cd nginx-1.11.10/

    ./configure --prefix=/var/software/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/var/setup/openssl-1.1.0e --with-zlib=/var/setup/zlib-1.2.11 --with-pcre=/var/setup/pcre-8.40 --with-ld-opt="-ljemalloc"

    make && make install

    配置nginx

    vim /var/software/nginx/conf/nginx.conf

    修改前几行为:

    user www www;

     

    worker_processes auto;

     

    error_log /data/www/logs/nginx/error.log crit;

     

    pid /run/nginx.pid;

     

    events{

      use epoll;

      worker_connections 65535;

    }

    找到,并修改 root 行的内容

    location / {

        root /data/www;

        index index.html index.htm;

    }

    测试和运行

    cd /var/software/nginx

    ldconfig

    /var/software/nginx/sbin/nginx -c /var/software/nginx/conf/nginx.conf -t

    若显示以下信息,则表示配置是正常的

    nginx: the configuration file /var/software/nginx/conf/nginx.conf syntax is ok

    nginx: configuration file /var/software/nginx/conf/nginx.conf test is successful

    查看jemalloc是否生效,需要先启动nginx

    /var/software/nginx/sbin/nginx -c /var/software/nginx/conf/nginx.conf

    lsof -n | grep jemalloc

    若显示以下信息,则表示jemalloc正常

    nginx     21925                root  mem       REG              253,0   2531464   51238929 /usr/local/lib/libjemalloc.so.2

    nginx     21926                 www  mem       REG              253,0   2531464   51238929 /usr/local/lib/libjemalloc.so.2

    nginx     21927                 www  mem       REG              253,0   2531464   51238929 /usr/local/lib/libjemalloc.so.2

    建立测试首页

    touch /data/www/index.html

    vim /data/www/index.html

    输入以下内容

    <html>

        <head><title>nginx index.html</title></head>

        <body>

        <h1>index.html</h1>

        </body>

    </html>

    浏览器打开,http://192.168.56.100,显示页面则代表正常

    作为服务,开机后启动

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

    填入以下内容

    [Unit]

    Description=The nginx HTTP and reverse proxy server

    After=syslog.target network.target remote-fs.target nss-lookup.target

     

    [Service]

    Type=forking

    PIDFile=/run/nginx.pid

    ExecStartPre=/var/software/nginx/sbin/nginx -c /var/software/nginx/conf/nginx.conf -t 

    ExecStart=/var/software/nginx/sbin/nginx -c /var/software/nginx/conf/nginx.conf

    ExecReload=/bin/kill -s HUP $MAINPID

    ExecStop=/bin/kill -s QUIT $MAINPID

    PrivateTmp=true

     

    [Install]

    WantedBy=multi-user.target

    设置生效

    systemctl enable nginx.service

    systemctl list-unit-files | grep enabled | grep nginx

    启动服务

    /var/software/nginx/sbin/nginx -s stop

    systemctl daemon-reload

    systemctl start nginx.service

    systemctl status nginx.service -l

    ps -ef | grep nginx

    lsof -n | grep jemalloc

    常用命令

    systemctl start|stop|reload|status nginx.service

    安装MySQL

    安装必要软件

    yum –y install perl perl-devel perl-Module-Install.noarch libaio libaio-devel

    下载源码

    cd /var/setup

    wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz 

    tar zxvf mysql-5.6.28-linux-glibc2.5-x86_64.tar.gz

    mv mysql-5.6.28-linux-glibc2.5-x86_64 /var/software/mysql

    创建用户

    groupadd mysql

    useradd -r -g mysql mysql

    添加用户组

    usermod -a -G vboxsf mysql

    安装

    cd  /var/software/mysql

    chown -R mysql:mysql ./

    ./scripts/mysql_install_db --user=mysql --basedir=/var/software/mysql --datadir=/var/software/mysql/data

    修改配置

    vim /var/software/mysql/my.cnf

    找到,并修改为

    [mysqld]

    datadir=/var/software/mysql/data

     

    [mysqld_safe]

    log-error=/data/www/logs/mariadb.log

    pid-file=/var/software/mysql/mariadb.pid

    找到

    socket=/var/lib/mysql/mysql.sock

    修改为

    socket=/tmp/mysql.sock

    启动

    ./bin/mysqld_safe --user=mysql

    设置账号密码

    /var/software/mysql/bin/mysqladmin -u root password '123456'

    /var/software/mysql/bin/mysqladmin -u root -p -h localhost.localdomain password '123456'

    配置root账号权限

    /var/software/mysql/bin/mysql -u root -p

    执行以下命令。记住下面的123456是root的密码

    CREATE USER 'root'@'%' IDENTIFIED BY '123456';

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

    启动配置

    ln -s /var/software/mysql/support-files/mysql.server /etc/init.d/

    vim /etc/init.d/mysql.server

    找到 basedir, datadir, mysqld_pid_file_path,修改为

    basedir=/var/software/mysql

    datadir=/var/software/mysql/data

    mysqld_pid_file_path=/var/software/mysql/mysql.pid

    自启动

    chkconfig mysql.server on

    常用命令

    /etc/init.d/mysql.server start|stop|restart|reload|status

    安装memcached

    安装

    yum install libevent-devel 

    cd /var/setup/

    wget http://www.memcached.org/files/memcached-1.4.35.tar.gz

    tar zxvf memcached-1.4.35.tar.gz

    cd memcached-1.4.35/

    ./configure 

    make && make install

    开机自启动

    vim /etc/init.d/memcached

    输入以下内容

    #!/bin/sh

    #

    # memcached:    MemCached Daemon

    #

    # chkconfig:    - 90 25 

    # description:  MemCached Daemon

    #

    # Source function library.

    . /etc/rc.d/init.d/functions

    . /etc/sysconfig/network

     

    start() 

    {

            echo -n $"Starting memcached: "

            daemon /usr/local/bin/memcached -u daemon -d -m 4096 -l 127.0.0.1 -p 11211

            echo

    }

     

    stop() 

    {

            echo -n $"Shutting down memcached: "

            killproc memcached 

            echo

    }

     

    [ -f /usr/local/bin/memcached ] || exit 0

     

    # See how we were called.

    case "$1" in

      start)

            start

            ;;

      stop)

            stop

            ;;

      restart|reload)

            stop

            start

            ;;

      condrestart)

            stop

            start

            ;;

      *)

            echo $"Usage: $0 {start|stop|restart|reload|condrestart}"

            exit 1

    esac

    exit 0

    设置

    chmod +x /etc/init.d/memcached

    chkconfig --add memcached 

    chkconfig --level 235 memcached on

    常用操作

    /etc/rc.d/init.d/memcached start|stop|restart|reload|condrestart

    注意

    若memcached启动后仍无法连接,请修改/etc/init.d/memcached里面的host 和端口是否正确

    安装PHP5.6

    预安装

    yum -y install make cmake automake autoconf kernel-devel ncurses-devel libxml2-devel curl-devel libjpeg-devel libpng-devel  pcre-devel libtool-libs freetype-devel gd zlib-devel file bison patch mlocate flex diffutils readline-devel glibc-devel glib2-devel bzip2-devel gettext-devel libcap-devel libmcrypt-devel openldap openldap-devel libxslt-devel libldap libldap-devel epel-release php-mcrypt

    安装

    cd /var/setup

    wget http://am1.php.net/distributions/php-5.6.30.tar.gz

    tar zxvf php-5.6.30.tar.gz

    cd php-5.6.30

    ./configure --prefix=/var/software/php/ --with-config-file-path=/var/software/php/etc/ --with-mysql=/var/software/mysql/ --with-mysqli=/var/software/mysql/bin/mysql_config --with-zlib --with-curl --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mbstring=all --with-openssl --with-gd --with-pdo-mysql=/var/software/mysql

    make && make install

    修改ini配置

    cp php.ini-production /var/software/php/etc/php.ini

    vim /var/software/php/etc/php.ini

    找到error_log,并设置为

    error_log=/data/www/logs/php/php_errors.log

    找到date.timezone,并设置为

    date.timezone = Asia/shanghai

    加入扩展地址

    extension_dir = "/var/software/php/lib/php/extensions/no-debug-non-zts-20131226"

    修改fpm配置

    cd /var/software/php

    cp etc/php-fpm.conf.default etc/php-fpm.conf

    vim etc/php-fpm.conf

    找到error_log,并设置为

    error_log = /data/www/logs/php/php-fpm.log

    开机自启动

    cp /var/setup/php-5.6.30/sapi/fpm/init.d.php-fpm /etc/init.d/php56-fpm

    chmod +x /etc/init.d/php56-fpm

    chkconfig php56-fpm on

    安装memcache扩展

    cd /var/setup/

    wget https://pecl.php.net/get/memcache-2.2.7.tgz

    tar zvxf memcache-2.2.7.tgz

    cd memcache-2.2.7/

    /var/software/php/bin/phpize

    ./configure --with-php-config=/var/software/php/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php/etc/php.ini

    加入

    extension=memcache.so

    安装rabbitmq扩展

    yum install librabbitmq-devel

    cd /var/setup/

    wget https://pecl.php.net/get/amqp-1.8.0.tgz

    tar zvxf amqp-1.8.0.tgz

    cd amqp-1.8.0/

    /var/software/php/bin/phpize

    ./configure --with-php-config=/var/software/php/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php/etc/php.ini

    加入

    extension=amqp.so

    安装phalcon扩展

    cd /var/setup/

    wget https://github.com/phalcon/cphalcon/archive/phalcon-v2.0.9.tar.gz

    tar zxvf phalcon-v2.0.9.tar.gz

    cd cphalcon-phalcon-v2.0.9/build/64bits/

    /var/software/php/bin/phpize

    ./configure --with-php-config=/var/software/php/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php/etc/php.ini

    加入

    extension=phalcon.so

    安装zip扩展

    cd /var/setup/php-5.6.30/ext/zip/

    /var/software/php/bin/phpize

    ./configure --with-php-config=/var/software/php/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php/etc/php.ini

    加入

    extension=zip.so

    安装xdebug

    cd /var/setup/

    wget https://pecl.php.net/get/xdebug-2.5.1.tgz

    tar zxvf xdebug-2.5.1.tgz

    cd xdebug-2.5.1/

    /var/software/php/bin/phpize

    ./configure --with-php-config=/var/software/php/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php/etc/php.ini

    相关配置内容

    zend_extension=/var/software/php/lib/php/extensions/no-debug-non-zts-20131226/xdebug.so

    ; Remote settings

    xdebug.remote_autostart=on

    xdebug.remote_enable=on

    xdebug.remote_handler=dbgp

    xdebug.remote_mode=req

    ; 注意!!!!这里的IP,是宿主机的IP(也就是苹果系统跟virtualbox的建立host-only的连接的IP)

    xdebug.remote_host="192.168.56.1"

    xdebug.remote_port=9001

     

    ; General

    xdebug.collect_includes=on

    xdebug.collect_params=1

    xdebug.collect_return=1

    xdebug.default_enable=on

    xdebug.extended_info=1

    xdebug.manual_url=http://www.php.net

    xdebug.show_local_vars=0

    xdebug.show_mem_delta=0

    xdebug.max_nesting_level=100

    ;xdebug.idekey=

     

    ; Trace options

    xdebug.auto_trace=0

    xdebug.trace_format=0

    xdebug.trace_output_dir=/data/www/logs/php/xdebug

    xdebug.trace_options=0

    xdebug.trace_output_name="xdebug_trace_%t"

     

    ; Profiling

    xdebug.profiler_enable=0

    xdebug.profiler_append=0

    xdebug.profiler_enable_trigger=1

    xdebug.profiler_output_dir=/data/www/logs/php/xdebug

    xdebug.profiler_output_name="xdebug_profiler_%t"

    通过netbeans IDE进行命令行调试设置

    vim ~/.bash_profile

    加入

    export XDEBUG_CONFIG="idekey=netbeans-xdebug"

    安装memcached扩展

    安装libmemcached

    cd /var/setup

    wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz

    tar zxvf libmemcached-1.0.18.tar.gz

    cd libmemcached-1.0.18/

    ./configure

    make && make install

    安装扩展,pecl上的3.0版本会出现编译不过的情况,只能使用2.2版本

    cd /var/setup

    wget https://pecl.php.net/get/memcached-2.2.0.tgz

    tar zxvf memcached-2.2.0.tgz

    cd memcached-2.2.0/

    /var/software/php/bin/phpize

    ./configure --with-php-config=/var/software/php/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php/etc/php.ini

    加入

    extension=memcached.so

    安装mcrypt

    yum install libmcrypt-devel

    cd /var/setup/php-5.6.30/ext/mcrypt

    /var/software/php/bin/phpize

    ./configure  -with-php-config=/var/software/php/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php/etc/php.ini

    加入

    extension=mcrypt.so

    安装swoole

    安装hiredis

    cd /var/setup/

    wget https://github.com/redis/hiredis/archive/v0.13.3.tar.gz

    tar zxvf v0.13.3.tar.gz

    cd hiredis-0.13.3/

    make -j

    make install

    ldconfig

    cd /var/setup

    git clone https://github.com/swoole/swoole-src.git

    cd swoole-src

    checkout某个特定的tag作为分支编译

    git checkout tags/v2.0.6 -b v2.0.6

    /var/software/php/bin/phpize

    ./configure  -with-php-config=/var/software/php/bin/php-config --enable-coroutin

    make && make install

    修改php.ini

    vim /var/software/php/etc/php.ini

    加入

    extension=swoole.so

    安装pcntl扩展

    cd /var/setup/php-5.6.30/ext/pcntl

    /var/software/php/bin/phpize

    ./configure  -with-php-config=/var/software/php/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php/etc/php.ini

    加入

    extension=pcntl.so

    安装socket扩展

    cd /var/setup/php-5.6.30/ext/sockets/

    /var/software/php/bin/phpize

    ./configure  -with-php-config=/var/software/php/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php/etc/php.ini

    加入

    extension=sockets.so

    安装redis扩展

    cd /var/setup

    wget https://pecl.php.net/get/redis-3.1.1.tgz

    tar zxvf redis-3.1.1.tgz

    cd redis-3.1.1/

    make clean

    /var/software/php/bin/phpize

    ./configure --with-php-config=/var/software/php/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php/etc/php.ini

    加入

    extension=redis.so

    安装inotify扩展

    cd /var/setup

    wget https://pecl.php.net/get/inotify-0.1.6.tgz

    tar zxvf inotify-0.1.6.tgz

    cd inotify-0.1.6/

    make clean

    /var/software/php/bin/phpize

    ./configure --with-php-config=/var/software/php/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php/etc/php.ini

    加入

    extension=inotify.so

    安装composer

    cd /var/software/

    mkdir /var/software/composer56

    cd /var/software/composer56

    curl -s http://getcomposer.org/installer | /var/software/php/bin/php

    常用命令

    /var/software/php/bin/php composer.phar install

    安装PHP7.1

    安装

    cd /var/setup

    wget http://cn2.php.net/distributions/php-7.1.2.tar.gz

    tar zxvf php-7.1.2.tar.gz

    cd php-7.1.2

    ./configure --prefix=/var/software/php71/ --with-config-file-path=/var/software/php71/etc/  --with-mysqli=/var/software/mysql/bin/mysql_config --with-zlib --with-curl --enable-fpm --with-fpm-user=www --with-fpm-group=www --enable-mbstring=all --with-openssl --with-gd --with-pdo-mysql=/var/software/mysql

    make && make install

    修改ini配置

    cp php.ini-production /var/software/php71/etc/php.ini

    vim /var/software/php71/etc/php.ini

    找到error_log,并设置为

    error_log=/data/www/logs/php/php71_errors.log

    找到date.timezone,并设置为

    date.timezone = Asia/shanghai

    加入扩展地址

    extension_dir = "/var/software/php71/lib/php/extensions/no-debug-non-zts-20160303"

    修改fpm配置

    cd /var/software/php71

    cp etc/php-fpm.conf.default etc/php-fpm.conf

    vim etc/php-fpm.conf

    找到error_log,并设置为

    error_log = /data/www/logs/php/php71-fpm.log

    修改fpm的监听端口

    vim /var/software/php71/etc/php-fpm.d/www.conf.default

    找到listen的端口,并设置为

    listen = 127.0.0.1:9071

    开机自启动

    cp /var/setup/php-7.1.2/sapi/fpm/init.d.php-fpm /etc/init.d/php71-fpm

    chmod +x /etc/init.d/php71-fpm

    chkconfig php71-fpm on

    安装rabbitmq扩展

    yum install librabbitmq-devel

    cd /var/setup/

    wget https://pecl.php.net/get/amqp-1.8.0.tgz

    tar zvxf amqp-1.8.0.tgz

    cd amqp-1.8.0/

    /var/software/php71/bin/phpize

    ./configure --with-php-config=/var/software/php71/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php71/etc/php.ini

    加入

    extension=amqp.so

    安装zip扩展

    cd /var/setup/php-7.1.2/ext/zip/

    /var/software/php71/bin/phpize

    ./configure --with-php-config=/var/software/php71/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php71/etc/php.ini

    加入

    extension=zip.so

    安装xdebug

    cd /var/setup/xdebug-2.5.1/

    make clean

    /var/software/php71/bin/phpize

    ./configure --with-php-config=/var/software/php71/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php71/etc/php.ini

    相关配置内容

    zend_extension=/var/software/php71/lib/php/extensions/no-debug-non-zts-20160303/xdebug.so

    ; Remote settings

    xdebug.remote_autostart=on

    xdebug.remote_enable=on

    xdebug.remote_handler=dbgp

    xdebug.remote_mode=req

    ; 注意!!!!这里的IP,是宿主机的IP(也就是苹果系统跟virtualbox的建立host-only的连接的IP)

    xdebug.remote_host="192.168.56.1"

    xdebug.remote_port=9002

     

    ; General

    xdebug.collect_includes=on

    xdebug.collect_params=1

    xdebug.collect_return=1

    xdebug.default_enable=on

    xdebug.extended_info=1

    xdebug.manual_url=http://www.php.net

    xdebug.show_local_vars=0

    xdebug.show_mem_delta=0

    xdebug.max_nesting_level=100

    ;xdebug.idekey=

     

    ; Trace options

    xdebug.auto_trace=0

    xdebug.trace_format=0

    xdebug.trace_output_dir=/data/www/logs/php/xdebug71

    xdebug.trace_options=0

    xdebug.trace_output_name="xdebug_trace_%t"

     

    ; Profiling

    xdebug.profiler_enable=0

    xdebug.profiler_append=0

    xdebug.profiler_enable_trigger=1

    xdebug.profiler_output_dir=/data/www/logs/php/xdebug71

    xdebug.profiler_output_name="xdebug71_profiler_%t"

    安装memcached扩展

    安装扩展

    cd /var/setup

    wget https://pecl.php.net/get/memcached-3.0.3.tgz

    tar zxvf memcached-3.0.3.tgz

    cd memcached-3.0.3/

    /var/software/php71/bin/phpize

    ./configure --with-php-config=/var/software/php71/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php71/etc/php.ini

    加入

    extension=memcached.so

    mcrypt的安装

    cd /var/setup/php-7.1.2/ext/mcrypt

    /var/software/php71/bin/phpize

    ./configure  -with-php-config=/var/software/php71/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php71/etc/php.ini

    加入

    extension=mcrypt.so

    安装pcntl扩展

    cd /var/setup/php-7.1.2/ext/pcntl

    /var/software/php71/bin/phpize

    ./configure  -with-php-config=/var/software/php71/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php71/etc/php.ini

    加入

    extension=pcntl.so

    安装socket扩展

    cd /var/setup/php-7.1.2/ext/sockets/

    /var/software/php71/bin/phpize

    ./configure  -with-php-config=/var/software/php71/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php71/etc/php.ini

    加入

    extension=sockets.so

    安装redis扩展

    cd /var/setup

    wget https://pecl.php.net/get/redis-3.1.1.tgz

    tar zxvf redis-3.1.1.tgz

    cd redis-3.1.1/

    /var/software/php71/bin/phpize

    ./configure --with-php-config=/var/software/php71/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php71/etc/php.ini

    加入

    extension=redis.so

    安装inotify扩展

    cd /var/setup

    wget https://pecl.php.net/get/inotify-2.0.0.tgz

    tar zxvf inotify-2.0.0.tgz

    cd inotify-2.0.0/

    /var/software/php71/bin/phpize

    ./configure --with-php-config=/var/software/php71/bin/php-config

    make && make install

    修改php.ini

    vim /var/software/php71/etc/php.ini

    加入

    extension=inotify.so

    安装swoole

    安装hiredis

    cd /var/setup/

    wget https://github.com/redis/hiredis/archive/v0.13.3.tar.gz

    tar zxvf v0.13.3.tar.gz

    cd hiredis-0.13.3/

    make -j

    make install

    ldconfig

    cd /var/setup

    git clone https://github.com/swoole/swoole-src.git

    cd swoole-src

    checkout某个特定的tag作为分支编译

    git checkout tags/v1.9.6 -b v1.9.6

    /var/software/php71/bin/phpize

    ./configure -with-php-config=/var/software/php71/bin/php-config --enable-async-redis --enable-jemalloc

    make && make install

    修改php.ini

    vim /var/software/php71/etc/php.ini

    加入

    extension=swoole.so

    安装composer(可选)

    cd /var/software/

    mkdir /var/software/composer71

    cd /var/software/composer71

    curl -s http://getcomposer.org/installer | /var/software/php71/bin/php

    常用命令

    /var/software/php71/bin/php composer.phar install

    安装redis服务端(可选)

    cd /var/setup/

    wget http://download.redis.io/releases/redis-3.2.8.tar.gz

    tar zxvf redis-3.2.8.tar.gz

    mv redis-3.2.8 /var/software/

    cd /var/software/redis-3.2.8/

    make

    开机启动

    cp /var/software/redis-3.2.8/utils/redis_init_script /etc/init.d/redisd

    vim /etc/init.d/redisd

    在#!/bin/sh下面,加入

    # chkconfig:   23459010

    EXEC=/usr/local/bin/redis-server

    修改为

    EXEC=/var/software/redis-3.2.8/src/redis-server

    CLIEXEC=/usr/local/bin/redis-cli

    修改为

    CLIEXEC=/var/software/redis-3.2.8/src/redis-cli

    CONF="/etc/redis/${REDISPORT}.conf"

    修改为

    CONF="/var/software/redis-3.2.8/redis.conf"

    设置为开机自启动服务器

    chkconfig redisd on

    常用命令

    service redisd start|stop

    virtualbox端口映射

    80与443端口转发

    参考文章Mac下Virtualbox端口转发到虚机的问题。由于1024以下的端口比较特殊,所以这里特意讲解一下

    设置virtualbox的端口映射

     

    Mac的系统设置

    sudo -i

    echo "rdr pass on lo0 inet proto tcp from any to any port 80 -> 127.0.0.1 port 8080" > /etc/pf.anchors/vbox

    echo "rdr pass on lo0 inet proto tcp from any to any port 443 -> 127.0.0.1 port 8443" > /etc/pf.anchors/vbox443

    vi /etc/pf.conf

    加入如下两行代码

    rdr-anchor "vbox"

    rdr-anchor "vbox443"

    load anchor "vbox" from "/etc/pf.anchors/vbox"

    load anchor "vbox443" from "/etc/pf.anchors/vbox443"

    最终的代码,一定要按照下面的顺序,要不然要报错的

    #

    # com.apple anchor point

    #

    scrub-anchor "com.apple/*"

    nat-anchor "com.apple/*"

    rdr-anchor "com.apple/*"

    rdr-anchor "vbox"

    rdr-anchor "vbox443"

    dummynet-anchor "com.apple/*"

    anchor "com.apple/*"

    load anchor "com.apple" from "/etc/pf.anchors/com.apple"

    load anchor "vbox" from "/etc/pf.anchors/vbox"

    load anchor "vbox443" from "/etc/pf.anchors/vbox443"

    激活配置

    pfctl -ef /etc/pf.conf

    设置开机启动

    方法一

    vi /System/Library/LaunchDaemons/com.apple.pfctl.plist

    添加第二行 (-e这一行)

    <string>pfctl</string>

    <string>-e</string>

    <string>-f</string>

    <string>/etc/pf.conf</string>

    参考如何编辑以上文件:Editing the /System/Library/LaunchDaemons/com.apple.pfctl.plist file

    方法二(未验证是否可行)

    sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.pfctl.plist

    短命令

    vim ~/.bash_profile

    添加以下内容

    alias nginx.start='systemctl start nginx.service'

    alias nginx.stop='systemctl stop nginx.service'

    alias nginx.restart='systemctl restart nginx.service'

    alias nginx.reload='systemctl reload nginx.service'

     

    alias php-fpm.force-quit='/etc/init.d/php56-fpm force-quit'

    alias php-fpm.start='/etc/init.d/php56-fpm start'

    alias php-fpm.stop='/etc/init.d/php56-fpm stop'

    alias php-fpm.reload='/etc/init.d/php56-fpm reload'

    alias php-fpm.restart='/etc/init.d/php56-fpm restart'

    alias php-fpm.status='/etc/init.d/php56-fpm status'

     

    alias php71-fpm.force-quit='/etc/init.d/php71-fpm force-quit'

    alias php71-fpm.start='/etc/init.d/php71-fpm start'

    alias php71-fpm.stop='/etc/init.d/php71-fpm stop'

    alias php71-fpm.reload='/etc/init.d/php71-fpm reload'

    alias php71-fpm.restart='/etc/init.d/php71-fpm restart'

    alias php71-fpm.status='/etc/init.d/php71-fpm status'

     

    alias mysql.start='/etc/init.d/mysql.server start'

    alias mysql.stop='/etc/init.d/mysql.server stop'

    alias mysql.restart='/etc/init.d/mysql.server restart'

    alias mysql.reload='/etc/init.d/mysql.server reload'

    alias mysql.status='/etc/init.d/mysql.server status'

     

    alias redis.start='service redisd start'

    alias redis.stop='service redisd stop'

    alias redis.restart='redis.stop && redis.start'

     

    alias memcached.start='/etc/rc.d/init.d/memcached start'

    alias memcached.stop='/etc/rc.d/init.d/memcached stop'

    alias memcached.restart='/etc/rc.d/init.d/memcached restart'

    这样就不用打那么多字啦

  • 相关阅读:
    组装query,query汇总,query字段
    POJ 1276, Cash Machine
    POJ 1129, Channel Allocation
    POJ 2531, Network Saboteur
    POJ 1837, Balance
    POJ 3278, Catch That Cow
    POJ 2676, Sudoku
    POJ 3126, Prime Path
    POJ 3414, Pots
    POJ 1426, Find The Multiple
  • 原文地址:https://www.cnblogs.com/davidhhuan/p/6492334.html
Copyright © 2011-2022 走看看