• [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'

    这样就不用打那么多字啦

  • 相关阅读:
    Java LinkedHashMap 逆序遍历
    (java/javascript) list 交集 并集 差集 去重复并集
    Map集合的四种遍历方式(转载)
    本地jar包 安装到本地仓库中的命令
    BigDecimal加减乘除运算(转)
    反射与内置方法
    项目二:选课系统
    绑定方法与非绑定方法
    多态性与鸭子类型
    继承与派生
  • 原文地址:https://www.cnblogs.com/davidhhuan/p/6492334.html
Copyright © 2020-2023  润新知