1、準(zhǔn)備
# 安裝之前先檢查一下系統(tǒng)是否有默認(rèn)安裝的`apache`或者`php`
$ rpm -qa|grep httpd
$ rpm -qa|grep php
$ rpm -qa|grep mysql
# 把上面指令列出來的包刪除
$ rpm -e ****(包名)
# 安裝一些必備的包
$ yum -y install gcc gcc-c++ make screen wget net-tools curl python
$ screen -S bt
# 編譯安裝`hiredis`
$ git clone https://github.com/redis/hiredis.git
$ cd hiredis
$ make && make install
$ mkdir /usr/lib/hiredis
$ cp libhiredis.so /usr/lib/hiredis
$ mkdir /usr/include/hiredis
$ cp hiredis.h /usr/include/hiredis
$ echo '/usr/local/lib' >>/etc/ld.so.conf
$ ldconfig
2、修改CentOS
默認(rèn)yum
源為國內(nèi)yum
鏡像源
- 備份
/etc/yum.repos.d/CentOS-Base.repo
$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 下載
163
的yum
源配置文件到上面那個文件夾內(nèi)$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
- 運行
yum makecache
生成緩存$ yum makecache
- 更新系統(tǒng)
$ yum -y update
3. 將已經(jīng)掛載在 home
目錄上的硬盤掛載到 data
目錄上
$ df -h #(查看分區(qū)情況及數(shù)據(jù)盤名稱)
$ mkdir /data #(如果沒有data目錄就創(chuàng)建,否則此步跳過)
$ umount /home #(卸載硬盤已掛載的home目錄)
$ mount /dev/mapper/centos-home /data #(掛載到data目錄)
$ vi /etc/fstab #(編輯fstab文件修改或添加,使重啟后可以自動掛載)
$ mount /dev/mapper/centos-home /data ext3 auto 0 0
4. 交互式安裝 OneinStack
- 安裝
OneinStack
$ wget http://mirrors.linuxeye.com/oneinstack-full.tar.gz $ tar xzf oneinstack-full.tar.gz $ cd oneinstack $ screen -S oneinstack # 如果網(wǎng)路出現(xiàn)中斷,可以執(zhí)行命令`screen -R oneinstack`重新連接安裝窗口 $ ./install.sh # 安裝 $ ./addons.sh # 添加附加組件 $ ./vhost.sh # 添加虛擬主機 $ ./pureftpd_vhost.sh # 管理FTP賬號 $ ./backup_setup.sh # 備份 $ ./upgrade.sh # 更新版本 $ ./uninstall.sh # 卸載
- 管理服務(wù)
# webmin $ rpm -Uvh https://prdownloads.sourceforge.net/webadmin/webmin-1.881-1.noarch.rpm # Nginx/Tengine/OpenResty $ service nginx {start|stop|status|restart|reload|configtest} # MySQL/MariaDB/Percona: $ service mysqld {start|stop|restart|reload|status} # PostgreSQL $ service postgresql {start|stop|restart|status} # MongoDB $ service mongod {start|stop|status|restart|reload} # PHP $ service php-fpm {start|stop|restart|reload|status} # HHVM $ service supervisord {start|stop|status|restart|reload} # Apache $ service httpd {start|restart|stop} # Tomcat $ service tomcat {start|stop|status|restart} # Pure-Ftpd $ service pureftpd {start|stop|restart|status} # Redis $ service redis-server {start|stop|status|restart} # Memcached $ service memcached {start|stop|status|restart|reload}
5. 安裝 Gearman
$ yum install -y uuid-devel libuuid libuuid-devel uuid boost-devel libevent libevent-devel gperf
$ wget https://launchpad.net/gearmand/1.2/1.1.12/+download/gearmand-1.1.12.tar.gz
$ tar zxvf gearmand-1.1.12.tar.gz
$ cd gearmand-1.1.12
$ ./configure --prefix=/usr/local/gearmand
$ make && make install
$ vi /etc/init.d/gearmand
#!/bin/bash
# chkconfig: - 85 15
#descrīption: service(/usr/local/gearmand/sbin/gearmand)
. /etc/rc.d/init.d/functions
start() {
echo -n $"Starting $prog"
echo -e " gearman : [確定]"
/usr/local/gearmand/sbin/gearmand &
sleep 1
echo -e "running..."
}
stop() {
echo -n $"Stopping $prog"
echo -e " gearman : [確定]"
kill -9 `ps -ef | grep "/usr/local/gearmand/sbin/gearmand" | awk '{print $2}' | awk 'NR==1'`
sleep 1
echo -e "stoped"
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
status)
ps -ef | grep "/usr/local/gearmand/sbin/gearmand"
;;
*)
echo $"Usage: $prog {start|stop|restart|status}" >&2
exit 1
;;
esac
exit 0
$ chkconfig --add gearmand
$ chkconfig gearmand on
$ chkconfig --list
6. 安裝 PostgreSQL
- 安裝
$ yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm $ yum install postgresql96 postgresql96-server postgresql96-contrib postgresql96-devel postgresql96-libs
- 初始化
PostgreSQL
數(shù)據(jù)庫$ mkdir /data/pgsql $ chown -R postgres:postgres /data/pgsql $ su postgres $ /usr/pgsql-9.6/bin/initdb -D /data/pgsql/data $ vi /usr/lib/systemd/system/postgresql-9.6.service Environment=PGDATA=/data/pgsql/data $ systemctl daemon-reload $ systemctl enable postgresql-9.6 $ systemctl start postgresql-9.6
- 配置默認(rèn)
postgres
用戶及密碼并創(chuàng)建新的用戶和數(shù)據(jù)庫$ cd data $ su postgres $ createuser gadfly $ createdb gadfly_db $ psql psql (9.6) Type "help" for help. Postgres=# postgres=# \password postgres Enter new password: Enter it again: postgres=# CREATE EXTENSION adminpack; CREATE EXTENSION postgres=# alter user gadfly with encrypted password 'centos'; ALTER ROLE postgres=# grant all privileges on database gadfly_db to gadfly; GRANT postgres=# \q $ exit
- 配置
PostgreSQL
- 配置
PostgreSQL-MD5
認(rèn)證$ vi /data/pgsql/data/pg_hba.conf # "local" is for Unix domain socket connections only local all all md5 # IPv4 local connections: host all all 192.168.1.0/24 md5 host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5
- 配置
PostgreSQL-Configure TCP/IP
$ vi /data/pgsql/data/postgresql.conf [...] listen_addresses = '*’ [...] port = 5432 [...]
- 配置
- 安裝
redis_fdw
外部表插件$ git clone -b REL9_6_STABLE https://github.com/pg-redis-fdw/redis_fdw.git $ cd redis_fdw $ export PATH=/usr/pgsql-9.6//bin:$PATH $ make USE_PGXS=1 $ make USE_PGXS=1 install $ su postgres bash-4.2$ psql -U postgres -d postgres postgres=# create extension redis_fdw; CREATE EXTENSION postgres=# CREATE SERVER redis_server postgres-# FOREIGN DATA WRAPPER redis_fdw postgres-# OPTIONS (address '127.0.0.1', port '6379'); CREATE SERVER postgres=# CREATE USER MAPPING FOR PUBLIC postgres-# SERVER redis_server postgres-# OPTIONS (password ''); CREATE USER MAPPING
redis_fdw
詳細(xì)的用法介紹
1.CREATE SERVER
支持的option
(指定地址和端口)
address: The address or hostname of the Redis server. Default: 127.0.0.1 port: The port number on which the Redis server is listening. Default: 6379
2.CREATE USER MAPPING
支持的option
(指定密碼)
password: The password to authenticate to the Redis server with. Default:
3.CREATE FOREIGN TABLE
支持的option
* 指定數(shù)據(jù)庫ID
* 表類型(hash
,list
,set
,zset
或scalar
)
*key
前綴key
集合singleton_key
指定KEY
conf database: The numeric ID of the Redis database to query. Default: 0 tabletype: can be 'hash', 'list', 'set' or 'zset' Default: none, meaning only look at scalar values. tablekeyprefix: only get items whose names start with the prefix Default: none tablekeyset: fetch item names from the named set Default: none singleton_key: get all the values in the table from a single named object. Default: none, meaning don't just use a single object.
7. 安裝MySQL 5.7
的UDF
函數(shù)
- 在
CentOS7
系統(tǒng)上安裝mysql-udf-http
$ export PKG_CONFIG=/usr/bin/pkg-config $ export PKG_CONFIG_PATH=/usr/share/pkgconfig:/usr/lib/pkgconfig $ echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf $ /sbin/ldconfig $ git clone https://github.com/y-ken/mysql-udf-http.git $ cd mysql-udf-http $ chmod +x ./configure $ ./configure --with-mysql=/usr/local/mysql/bin/mysql_config --prefix=/usr --libdir=/usr/local/mysql/lib/plugin $ make && make install $ cd ../
- 在
CentOS7
系統(tǒng)上安裝mysql-udf-sys
$ git clone https://github.com/mysqludf/lib_mysqludf_sys.git $ cd lib_mysqludf_sys $ gcc -DMYSQL_DYNAMIC_PLUGIN -fPIC -Wall -I/usr/local/mysql/include -I. -shared lib_mysqludf_sys.c -o lib_mysqludf_sys.so $ cp lib_mysqludf_sys.so /usr/local/mysql/lib/plugin
- 在
CentOS7
系統(tǒng)上安裝gearman-mysql-udf
$ wget https://launchpad.net/gearman-mysql-udf/trunk/0.6/+download/gearman-mysql-udf-0.6.tar.gz $ tar xf gearman-mysql-udf-0.6.tar.gz -C ./ $ cd gearman-mysql-udf-0.6 $ ./configure --with-mysql=/usr/local/mysql/bin/mysql_config --libdir=/usr/local/mysql/lib/plugin $ make && make install
- 創(chuàng)建
MySQL
自定義函數(shù)mysql> DROP FUNCTION IF EXISTS http_get; mysql> DROP FUNCTION IF EXISTS http_post; mysql> DROP FUNCTION IF EXISTS http_put; mysql> DROP FUNCTION IF EXISTS http_delete; mysql> create function http_get returns string soname 'mysql-udf-http.so'; mysql> create function http_post returns string soname 'mysql-udf-http.so'; mysql> create function http_put returns string soname 'mysql-udf-http.so'; mysql> create function http_delete returns string soname 'mysql-udf-http.so'; mysql> DROP FUNCTION IF EXISTS lib_mysqludf_sys_info; mysql> DROP FUNCTION IF EXISTS lib_mysqludf_sys_info; mysql> DROP FUNCTION IF EXISTS sys_set; mysql> DROP FUNCTION IF EXISTS sys_exec; mysql> DROP FUNCTION IF EXISTS sys_eval; mysql> CREATE FUNCTION lib_mysqludf_sys_info RETURNS string SONAME 'lib_mysqludf_sys.so'; mysql> CREATE FUNCTION sys_get RETURNS string SONAME 'lib_mysqludf_sys.so'; mysql> CREATE FUNCTION sys_set RETURNS int SONAME 'lib_mysqludf_sys.so'; mysql> CREATE FUNCTION sys_exec RETURNS int SONAME 'lib_mysqludf_sys.so'; mysql> CREATE FUNCTION sys_eval RETURNS string SONAME 'lib_mysqludf_sys.so'; mysql> DROP FUNCTION IF EXISTS gman_do_background; mysql> DROP FUNCTION IF EXISTS gman_servers_set; mysql> CREATE FUNCTION gman_do_background RETURNS STRING SONAME 'libgearman_mysql_udf.so'; mysql> CREATE FUNCTION gman_servers_set RETURNS STRING SONAME 'libgearman_mysql_udf.so';
8. 安裝RabbitMQ
-
安裝Erlang
$ rpm --import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc $ rpm -Uvh https://bintray.com/rabbitmq/rpm/download_file?file_path=erlang%2F21%2Fel%2F7%2Fx86_64%2Ferlang-21.0.2-1.el7.centos.x86_64.rpm
-
安裝RabbitMQ
$ rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc $ wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.7/rabbitmq-server-3.7.7-1.el7.noarch.rpm $ yum install rabbitmq-server-3.7.7-1.el7.noarch.rpm
-
關(guān)于RabbitMQ的一些基本操作
$ chkconfig rabbitmq-server on # 添加開機啟動RabbitMQ服務(wù) $ service rabbitmq-server start # 啟動服務(wù) $ service rabbitmq-server status # 查看服務(wù)狀態(tài) $ service rabbitmq-server stop # 停止服務(wù) # 查看當(dāng)前所有用戶 $ rabbitmqctl list_users # 查看默認(rèn)guest用戶的權(quán)限 $ rabbitmqctl list_user_permissions guest # 由于RabbitMQ默認(rèn)的賬號用戶名和密碼都是guest。為了安全起見, 先刪掉默認(rèn)用戶 $ rabbitmqctl delete_user guest # 添加新用戶 $ rabbitmqctl add_user username password # 設(shè)置用戶tag $ rabbitmqctl set_user_tags username administrator # 賦予用戶默認(rèn)vhost的全部操作權(quán)限 $ rabbitmqctl set_permissions -p / username ".*" ".*" ".*" # 查看用戶的權(quán)限 $ rabbitmqctl list_user_permissions username
-
查看
RabbitMQ
日志- 日志中給出了
rabbitmq
啟動的重要信息,如node
名,$home
目錄,cookie
hash
值,日志文件,數(shù)據(jù)存儲目錄等; - 給出的信息會指出無配置文件(如下圖),默認(rèn)安裝沒有此文件
$ cat /var/log/rabbitmq/rabbit@rmq-node1.log
- 日志中給出了
-
開啟web管理接口
通過瀏覽器訪問 http://localhost:15672
shell $ rabbitmq-plugins enable rabbitmq_management
-
rabbitmq.conf
- 手工建目錄,將配置樣例文件拷貝到配置目錄并改名
$ mkdir -p /etc/rabbitmq $ cp /usr/share/doc/rabbitmq-server-3.6.10/rabbitmq.config.example /etc/rabbitmq/rabbitmq.config
- 配置重啟生效
$ systemctl restart rabbitmq-server
另外還可以建環(huán)境配置文件:
/etc/rabbitmq/rabbitmq-env.conf
- 手工建目錄,將配置樣例文件拷貝到配置目錄并改名
-
設(shè)置
iptables
-
tcp4369
端口用于集群鄰居發(fā)現(xiàn); -
tcp5671
,5672
端口用于AMQP 0.9.1 and 1.0 clients
使用; -
tcp15672
端口用于http api
與rabbitadmin
訪問,后者僅限在management plugin
開啟時; -
tcp25672
端口用于erlang
分布式節(jié)點/工具通信
$ vi /etc/sysconfig/iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 4369 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 5671 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 25672 -j ACCEPT $ service iptables restart
-
9、安裝 kafka
-
安裝
JDK
$ yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel java-1.8.0-openjdk-javadoc $ vi /etc/profile export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-8.b10.el7_5.x86_64 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin $ source /etc/profile #使配置文件立即生效
-
安裝
zookeeper
$ cd /www/software $ wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz $ tar -zxvf zookeeper-3.4.9.tar.gz $ mv /www/software/zookeeper-3.4.9 /www/server/zookeeper $ vi /etc/profile export ZOOKEEPER_HOME=/www/server/zookeeper export PATH=$ZOOKEEPER_HOME/bin:$PATH export PATH $ source /etc/profile $ cd /www/server/zookeeper/conf $ cp zoo_sample.cfg zoo.cfg $ vi /www/server/zookeeper/conf/zoo.cfg # zookeeper 定義的基準(zhǔn)時間間隔,單位:毫秒 tickTime=2000 # 數(shù)據(jù)文件夾 dataDir=/www/server/zookeeper/data # 日志文件夾 dataLogDir=/www/server/zookeeper/logs # 客戶端訪問 zookeeper 的端口號 clientPort=2181 $ /www/server/zookeeper/bin/zkServer.sh start ZooKeeper JMX enabled by default Using config: /www/server/zookeeper/bin/../conf/zoo.cfg Starting zookeeper ... STARTED # 安裝 `zookeeper c client` $ cd /www/server/zookeeper/src/c $ ./configure $ make && make install
-
安裝
kafka
$ cd /www/software $ wget https://archive.apache.org/dist/kafka/1.1.0/kafka_2.12-1.1.0.tgz $ tar -xzvf kafka_2.12-1.1.0.tgz $ mv /www/software/kafka_2.12-1.1.0 /www/server/kafka
-
配置
kafka
,修改server.properties
$ mkdir /www/wwwlogs/kafka #創(chuàng)建kafka日志目錄 $ cd /www/server/kafka/config #進入配置目錄 $ vi server.properties #編輯修改相應(yīng)的參數(shù) broker.id=0 port=9092 #端口號 host.name=192.168.137.254 #服務(wù)器IP地址,修改為自己的服務(wù)器IP log.dirs=/www/wwwlogs/kafka #日志存放路徑,上面創(chuàng)建的目錄 zookeeper.connect=localhost:2181 #zookeeper地址和端口,單機配置部署,localhost:2181
-
配置
kafka
下的zookeeper
$ mkdir /www/server/zookeeper #創(chuàng)建zookeeper目錄 $ mkdir /www/wwwlogs/zookeeper #創(chuàng)建zookeeper日志目錄 $ cd /www/server/kafka/config #進入配置目錄 $ vi zookeeper.properties #編輯修改相應(yīng)的參數(shù) dataDir=/www/server/kafka/zookeeper #zookeeper數(shù)據(jù)目錄 dataLogDir=/www/server/kafka/log/zookeeper #zookeeper日志目錄 clientPort=2181 maxClientCnxns=100 tickTime=2000 initLimit=10
-
創(chuàng)建啟動
kafka
腳本$ vi kafkastart.sh #!/bin/bash #啟動zookeeper /www/server/kafka/bin/zookeeper-server-start.sh /www/server/kafka/config/zookeeper.properties & sleep 3 #等3秒后執(zhí)行 #啟動kafka /www/server/kafka/bin/kafka-server-start.sh /www/server/kafka/config/server.properties &
-
創(chuàng)建關(guān)閉
kafka
腳本$ vi kafkastop.sh #!/bin/bash #關(guān)閉zookeeper /www/server/kafka/bin/zookeeper-server-stop.sh /www/server/kafka/config/zookeeper.properties & sleep 3 #等3秒后執(zhí)行 $ /www/server/kafka/bin/kafka-server-stop.sh /www/server/kafka/config/server.properties &
-
添加腳本執(zhí)行權(quán)限
$ chmod +x kafkastart.sh $ chmod +x kafkastop.sh
-
設(shè)置腳本開機自動執(zhí)行
$ vi /etc/rc.d/rc.local # 編輯,在最后添加一行 $ sh /www/server/kafka/kafkastart.sh & # 設(shè)置開機自動在后臺運行腳本 $ sh /www/server/kafka/kafkastart.sh # 啟動kafka $ sh /www/server/kafka/kafkastop.sh # 關(guān)閉kafka
-
-
測試
kafka
- 步驟1:啟動
zookeeper
$ /www/server/zookeeper/bin/zkServer.sh start JMX enabled by default Using config: /home/laoyang/zookeeper/bin/../conf/zoo.cfg grep: /home/laoyang/zookeeper/bin/../conf/zoo.cfg: No such file or directory Starting zookeeper ... STARTED
- 步驟2:啟動
kafka
$ ./kafkastart.sh
- 步驟3:測試創(chuàng)建
topic
$ cd /www/server/kafka/bin $ ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
- 步驟4:通過
list
命令查看創(chuàng)建的topic
$ cd /www/server/kafka/bin $ ./kafka-topics.sh –list –zookeeper localhost:2181
- 步驟5:生產(chǎn)消息測試
$ ./kafka-console-producer.sh --broker-list localhost:9092 --topic test laoyang I love you!
- 步驟6:消費消息測試
$ ./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning I'm laoyang #之前測試輸入的內(nèi)容 laoyang I love you!
經(jīng)過以上6步,代表kafka安裝成功。
- 停止
kafka
- 步驟1:停止
Kafka
$ cd /usr/local/kafka $ ./kafkastop.sh
- 步驟2:停止
Zookeeper server
$ /www/server/zookeeper/bin/zkServer.sh stop
- 步驟1:停止
- 步驟1:啟動
10. 為 PHP
添加擴展
- 添加
PostgreSQL
擴展$ cd ~/oneinstack/src $ tar zxvf php-7.2.6.tar.gz $ cd php-7.2.6/ext/pgsql $ /usr/local/php/bin/phpize $ ./configure --with-php-config=/usr/local/php/bin/php-config --with-pgsql=/usr/pgsql-9.6 $ make && make install
- 添加
PDO-PostgreSQL
擴展$ cd ~/oneinstack/src/php-7.2.6/ext/pdo_pgsql $ /usr/local/php/bin/phpize $ ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-pgsql=/usr/pgsql-9.6 $ make && make install
- 添加
Gearman
擴展$ git clone https://github.com/wcgallego/pecl-gearman.git $ cd pecl-gearman $ /usr/local/php/bin/phpize $ ./configure --with-php-config=/usr/local/php/bin/php-config --with-gearman=/usr/local/gearmand/ $ make && make install
- 添加rabbitmq擴展
- 安裝rabbitmq-c
$ yum install libtool autoconf $ wget https://github.com/alanxz/rabbitmq-c/archive/v0.9.0.tar.gz $ tar zxvf v0.9.0.tar.gz $ cd rabbitmq-c-0.9.0/ $ autoreconf -i #這一步是在rabbitmq-c的根目錄下創(chuàng)建一個build子目錄 $ mkdir build && cd build # 這一步是讓cmake根據(jù)../CMakeList.txt,即rabbitmq-c的根目錄下的CMakeList.txt創(chuàng)建Makefile文件 # Makefile文件會被創(chuàng)建到build目錄中 $ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/rabbitmq-c .. # 這一步是真正的build rabbitmq-c庫的,注意,不要漏掉點 ‘.‘ $ cmake --build . --target install $ ln -s /usr/local/rabbitmq-c/lib64 /usr/local/rabbitmq-c/lib
- 安裝amqp擴展
$ wget http://pecl.php.net/get/amqp-1.9.3.tgz $ tar zxvf amqp-1.9.3.tgz $ cd amqp-1.9.3 $ phpize $ ./configure --with-php-config=/usr/local/php/bin/php-config --with-amqp --with-librabbitmq-dir=/usr/local/rabbitmq-c $ make $ make install
- 安裝rabbitmq-c
- 為
PHP
添加zookeeper
擴展- 為
PHP
添加libzookeeper
擴展$ git clone https://github.com/Timandes/libzookeeper.git $ cd libzookeeper $ /www/server/php/72/bin/phpize $ ./configure --with-php-config=/www/server/php/72/bin/php-config --with-libzookeeper=/usr/local/bin/cli_mt $ make && make install
- 為
PHP
添加zookeeper
擴展$ git clone -b php7 https://github.com/jbboehr/php-zookeeper.git $ cd /www/server/php-zookeeper $ /www/server/php/72/bin/phpize $ ./configure --with-php-config=/www/server/php/72/bin/php-config $ make && make install
- 為
- 配置
PHP
支持自定義擴展$ vi /usr/local/php/etc/php.d/90-pgsql.ini extension=pgsql.so extension=pdo_pgsql.so extension=gearman.so extension=amqp.so $ service httpd restart
11. Composer安裝和使用
- 安裝
Composer
# 下載composer.phar $ wget https://dl.laravel-china.org/composer.phar -O /usr/local/bin/composer # 把composer.phar移動到環(huán)境下讓其變成可執(zhí)行 $ chmod a+x /usr/local/bin/composer $ composer config -g repo.packagist composer https://packagist.phpcomposer.com # 測試 $ composer -V
- 使用
Composer
安裝ThinkPHP 5.1
$ composer create-project topthink/think thinkphp5.1 --prefer-dist $ cd thinkphp5.1 $ composer require topthink/think-swoole $ composer require flc/alidayu $ composer require topthink/think-helper $ composer require topthink/think-image $ composer require topthink/think-captcha $ composer require nmred/kafka-php $ composer require adodb/adodb-php $ composer require phpoffice/phpspreadsheet $ composer require phpoffice/phpexcel $ composer require phpoffice/phpword $ composer require tecnickcom/tcpdf $ composer require mpdf/mpdf $ composer require gmars/tp5-qiniu $ composer require apache/log4php $ composer require ccampbell/chromephp $ composer require php-amqplib/php-amqplib