国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

CentOS編譯安裝PHP開發(fā)環(huán)境

2020-03-22 18:04:05
字體:
供稿:網(wǎng)友
  • CentOS編譯安裝PHP開發(fā)環(huán)境

    最近在安裝服務器開發(fā)環(huán)境, 踩了不少坑, 這里總結(jié)下來. yum安裝雖然簡單, 卻不靈活, 版本也比較老舊不合符設計中的選型, 因此只使用yum安裝一些依賴庫, 目標軟件采用編譯安裝.

    目錄

    安裝PHP

    安裝PHP擴展

    安裝Phalcon框架

    安裝html' target='_blank'>MySQL

    安裝MongoDB

    安裝Redis

    安裝PHP

    yum安裝依賴庫
    yum install -y make cmake gcc gcc-c++ autoconf automake libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison  libtool-ltdl-devel libiconv libmcrypt mhash mcrypt pcre-devel openssl-devel freetype-devel libcurl-devel

    安裝PHP7.0.9
    #先下載PHPcd /tmpwget http://cn2.php.net/distributions/php-7.0.9.tar.gztar -zxvf php-7.0.9.tar.gzcd php-7.0.9.tar.gz#我們先配置下PHP的編譯參數(shù)./configure --prefix=/usr/local/php  --with-mysql  --with-mysqli  --with-pdo_mysql  --with-iconv-dir  --with-zlib --with-libxml-dir --enable-xml --with-curl --enable-fpm --enable-mbstring --with-gd --with-openssl --with-mhash --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-freetype-dir=/usr/lib64#編譯 makemake install clean#復制php.inicp php.ini-development /usr/local/php/lib/php.inicp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf#運行php-fpm/usr/local/php/sbin/php-fpm#將php命令加入到全局vi /root/.bash_profile #將/usr/local/php/bin 加到后面,用:隔開PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib:/usr/local/php/bin#重啟source /root/.bash_profile

    php-fpm的啟動腳本

    PHP7安裝包里自帶了啟動腳本:

    cp /tmp/php-7.0.9/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpmcd /etc/init.dchmod +x php-fpm

    然后就可以啟動,停止重啟等操作了:

    service php-fpm restart

    安裝PHP擴展

    PHP擴展的安裝都是利用phpize, 這里用redis舉例

    下載擴展
    http://pecl.php.net

    安裝
    tar -zxvf redis-3.0.1.tgz  cd redis-3.0.1  phpize   ./configure --with-php-config=/usr/local/php/bin/php-config   make && make install  

    修改php.ini
    extension=redis.so

    重啟php-fpm
    kill `cat /var/run/php-fpm.pid ` && /usr/local/php/sbin/php-fpm 

    安裝Phalcon框架

    phalcon作為PHP的擴展存在, 理應可以使用phpize安裝的, 但是試過幾次, 依賴的東東比較難搞, 還是使用官方給出的安裝器:

    編譯安裝
    git clone git://github.com/phalcon/cphalcon.gitcd cphalcon/buildsudo ./install

    其中遇到gcc報錯, 是因為虛擬機內(nèi)存太小, 后來加了一個swap分區(qū)解決了.

    修改php.ini
    extension=phalcon.so

    安裝Nginx

    安裝nginx的依賴包

    nginx 依賴于 zlib pcre ssl 三個模塊,安裝之前要先安裝它們

    cd /lamp wget http://zlib.net/zlib-1.2.8.tar.gztar -zxvf zlib-1.2.7.tar.gzcd zlib-1.2.7./configuremakemake install wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.tar.gztar -zxvf pcre-8.21.tar.gzcd pcre-8.21./configuremakemake install wget http://www.openssl.org/source/openssl-1.0.2.tar.gztar zxvf openssl-1.0.2.tar.gzcd openssl-1.0.2.tar.gz./config  # 注意是config,不是configuremakemake install 

    安裝nginx
    # 下載wget http://nginx.org/download/nginx-1.11.3.tar.gztar -zxvf nginx-1.11.3.tar.gzcd nginx-1.11.3.tar.gz# 編譯# 這3個擴展的目錄是他們的源代碼目錄,不是安裝目錄,這點很容易搞錯./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/lamp/pcre-8.32 --with-zlib=/lamp/zlib-1.2.7 --with-openssl=/lamp/openssl-1.0.2make && make install#啟動/usr/local/nginx/nginx#查看端口netstat -tnl|grep 8080#訪問curl http://localhost:8080

    開機自啟動

    開機啟動的配置文件是:/etc/rc.local ,vi加入 /usr/local/nginx/nginx 即可

    #!/bin/sh## This script will be executed *after* all the other init scripts.# You can put your own initialization stuff in here if you don't# want to do the full Sys V style init stuff.touch /var/lock/subsys/local/usr/local/apache/bin/apachectl start/usr/local/bin/redis-server /etc/redis.conf/usr/local/php/sbin/php-fpm/usr/local/nginx/nginx

    開啟nginx的iptables限制

    我們在本地訪問127.0.0.1:8080/index.php,是可以打開的。 但是如果,在另外一臺機子上訪問:http://192.168.155.128:8080/index.php 不能訪問,可能是這個8080端口號沒有加入到iptables的白名單,所以需要加一下:

    (PS: 如果你的nginx端口號是80,應該是已經(jīng)在iptables白名單中了,如果能訪問就不需要加了)

    iptables的配置文件在這:/etc/sysconfig/iptables

    我們vi 打開下,然后在倒數(shù)第二行上面加入:-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT 然后,重啟下 iptables

    service iptables restart

    安裝MySQL
    cd /tmp#先下載mysql http://dev.mysql.com/Downloads/mysql/mysql-5.7.14.tar.gztar zxvf mysql-5.7.14.tar.gzcd mysql-5.7.14#cmake配置下cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/mysql   #安裝目錄-DMYSQL_DATADIR=/usr/local/mysql/data     #數(shù)據(jù)庫存放目錄-DDEFAULT_CHARSET=utf8                    #使用utf8字符-DDEFAULT_COLLATION=utf8_general_ci       #校驗字符-DEXTRA_CHARSETS=all                      #安裝所有擴展字符集-DENABLED_LOCAL_INFILE=1                   #允許從本地導入數(shù)據(jù)#編譯安裝make && make install#創(chuàng)建mysql用戶和用戶組groupadd mysqluseradd -r -g mysql mysql#給mysql目錄設置目錄權(quán)限chown -R mysql:mysql /usr/local/mysql#將mysql的啟動服務添加到系統(tǒng)服務中cd /usr/local/mysql/cp support-files/my-default.cnf /etc/my.cnf#創(chuàng)建系統(tǒng)數(shù)據(jù)庫的表cd scripts/./mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/#復制mysql管理腳本到系統(tǒng)服務目錄cd /opt/mysql/support-filescp mysql.server /etc/rc.d/init.d/mysql#添加mysql命令到系統(tǒng)服務命令chkconfig --add mysql#加入開機啟動策略chkconfig mysql onservice mysql start#以后就可以調(diào)用service 命令來管理mysqlservice mysql startservice mysql stopservice mysql restart#將mysql命令加入全局可用vi /root/.bash_profile#在PATH=$PATH:$HOME/bin添加參數(shù)為:PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib#重新生效source /root/.bash_profile#修改root密碼mysql -u root mysqlmysql>use mysql;mysql>desc user;mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";  //為root添加遠程連接的能力。mysql>update user set Password = password('12346') where User='root';mysql>select Host,User,Password  from user where User='root'; mysql>flush privileges;mysql>exit#重新登錄:mysql -uroot -p123456

    安裝MongoDB

    下載解壓
    wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.4.tgztar -zxvf mongodb-linux-x86_64-2.6.4.tgz -C /usr/srccd mongodb-linux-x86_64-2.6.4

    創(chuàng)建數(shù)據(jù)庫和日志的目錄
    mkdir logmkdir db

    以后臺方式啟動
    ./bin/mongod --dbpath=./db --logpath=./log/mongodb.log --fork --auth

    設置開機啟動
    echo "/usr/src/mongodb-linux-x86_64-2.6.4/bin/mongod --dbpath=/usr/src/mongodb-linux-x86_64-2.6.4/db --logpath=/usr/src/mongodb-linux-x86_64-2.6.4/log/mongodb.log --fork --auth" >> /etc/rc.local

    查看端口
    netstat -nalupt | grep mongo

    安裝Redis

    安裝
    #下載解壓wget http://download.redis.io/releases/redis-3.0.3.tar.gztar xzf redis-3.0.3.tar.gzcd redis-3.0.3#編譯makemake install

    修改redis.conf
    daemonize yesloglevel noticelogfile /var/log/redis.logdir ./

    設置系統(tǒng)的overcommit_memory, vi /etc/sysctl.conf
    vm.overcommit_memory = 1 

    執(zhí)行:

    sysctl vm.overcommit_memory=1

    添加啟動腳本
    #!/bin/sh## redis        Startup script for Redis Server## chkconfig: - 90 10# description: Redis is an open source, advanced key-value store. ## processname: redis-server# config: /etc/redis.conf# pidfile: /var/run/redis.pid REDISPORT=6379EXEC=/usr/local/bin/redis-serverREDIS_CLI=/usr/local/bin/redis-cli PIDFILE=/var/run/redis.pidCONF="/usr/src/redis-3.0.3/redis.conf" case "$1" in    start)        if [ -f $PIDFILE ]        then                echo "$PIDFILE exists, process is already running or crashed"        else                echo "Starting Redis server..."                $EXEC $CONF        fi        if [ "$?"="0" ]         then               echo "Redis is running..."        fi         ;;    stop)        if [ ! -f $PIDFILE ]        then                echo "$PIDFILE does not exist, process is not running"        else                PID=$(cat $PIDFILE)                echo "Stopping ..."                $REDIS_CLI -p $REDISPORT SHUTDOWN                while [ -x ${PIDFILE} ]               do                    echo "Waiting for Redis to shutdown ..."                    sleep 1                done                echo "Redis stopped"        fi        ;;   restart|force-reload)        ${0} stop        ${0} start        ;;  *)    echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2        exit 1esac
    chmod +x /etc/init.d/redischkconfig --add redis# 加入開機啟動chkconfig redis on
    PHP編程

    鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    主站蜘蛛池模板: 乐业县| 东乡| 乌兰县| 大田县| 蓝山县| 玉屏| 手游| 鄯善县| 娄底市| 库尔勒市| 大渡口区| 沾化县| 新竹县| 三原县| 阿拉尔市| 阜宁县| 河源市| 新闻| 永顺县| 阿图什市| 浮梁县| 威宁| 闻喜县| 曲松县| 贵德县| 眉山市| 济源市| 漳浦县| 府谷县| 宁安市| 竹溪县| 云林县| 云梦县| 固安县| 蒙阴县| 兰州市| 博野县| 张家界市| 崇文区| 微山县| 伊宁县|