Ubuntu20.04云服务器-workerman安装(php、Composer、workman、webman)
1. 参考资料
- php文档:https://www.php.net/manual/zh/install.unix.debian.php
- composer文档:https://getcomposer.org/doc/00-intro.md#installation-linux-unix-macos
Failed to decode zlib stream
的解决办法博客:http://www.feiyunjs.com/1510.html- workman文档:https://www.workerman.net/doc/workerman/install/requirement.html
- webman文档:https://www.workerman.net/doc/webman/install.html
2. php安装
-
apt更新
sudo apt-get update sudo apt-get upgrade -y
-
将php安装入Apache2
sudo apt-get install php-common libapache2-mod-php php-cli -y
-
停止并启动Apache
sudo /etc/init.d/apache2 stop sudo /etc/init.d/apache2 start
-
取得php附加软件包的列表
sudo apt-cache search php sudo apt search php | grep -i mysql sudo apt-get install aptitude -y sudo aptitude search php
-
安装php的MySQL和cURL支持
sudo apt-get install php-mysql php-curl -y
3. Composer安装
3.1 Locally
-
进入项目文件夹,下载Composer
php composer-setup.php --install-dir=bin --filename=composer
-
运行Composer
php bin/composer
3.2 Globally
-
创建php-composer文件夹并进入该文件夹下
mkdir php-composer cd php-composer
-
安装Composer
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" php -r "if (hash_file('sha384', 'composer-setup.php') === '55ce33d7678c5a611085589f1f3ddf8b3c52d662cd01d4ba75c0ee0459970c2200a51f492d557530c71c15d8dba01eae') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" php composer-setup.php php -r "unlink('composer-setup.php');"
执行
php composer-setup.php
如果遇到报错Failed to decode zlib stream
,则执行以下命令php -r "readfile('https://getcomposer.org/installer');" | php php -r "unlink('composer-setup.php');"
-
设置系统环境变量
sudo mv composer.phar /usr/local/bin/composer
-
运行Composer
composer
4. workerman安装
4.1 环境要求
-
运行以下脚本检查本地环境是否满足WorkerMan要求
url -Ss https://www.workerman.net/check | php
-
查看php安装了哪些扩展包
php -m #[PHP Modules] calendar Core ctype curl date exif FFI fileinfo filter ftp gettext hash iconv json libxml mysqli mysqlnd openssl pcntl pcre PDO pdo_mysql Phar posix readline Reflection session shmop sockets sodium SPL standard sysvmsg sysvsem sysvshm tokenizer Zend OPcache zlib
-
安装Event、libevent扩展
sudo apt install libevent-dev -y sudo apt install php-pear -y sudo apt install php-dev -y curl 'https://pecl.php.net/get/event-3.0.8.tgz' -o event-308.tgz sudo pecl install event-308.tgz php --ini # /etc/php/7.4/cli/conf.d/*.ini cd /etc/php/7.4/cli/conf.d sudo touch event.ini sudo chmod 777 event.ini sudo echo '[event]'>event.ini sudo echo 'extension=event.so'>>event.ini php -m|grep event
4.2 创建项目
mkdir workermanproject
cd workermanproject
composer require workerman/workerman
4.3 项目示例运行
-
创建start.php文件
<?php use Workerman\Worker; use Workerman\Connection\TcpConnection; use Workerman\Protocols\Http\Request; require_once __DIR__ . '/vendor/autoload.php'; // 创建一个Worker监听2345端口,使用http协议通讯 $http_worker = new Worker("http://0.0.0.0:2345"); // 启动4个进程对外提供服务 $http_worker->count = 4; // 接收到浏览器发送的数据时回复hello world给浏览器 $http_worker->onMessage = function(TcpConnection $connection, Request $request) { // 向浏览器发送hello world $connection->send('hello world'); }; // 运行worker Worker::runAll();
-
命令行运行
php start.php start
-
访问:
http://ip地址:2345
5. webman安装
5.1 环境需求
- PHP >= 7.2
- Composer >= 2.0
5.2 创建项目
composer create-project workerman/webman
5.3 项目运行
-
debug方式运行
cd webman php start.php start
-
daemon方式运行
cd webman php start.php start -d
5.4 访问
http://ip地址:8787