秒杀系列01 ~ 基于swoole的http server

环境准备

1、在VMware虚拟机中,安装一台Linux,开启共享目录,然后安装docker,建议采用宝塔面板。

2、制作一个docker镜像,php8.2 + swoole

FROM php:8.2-cli

RUN apt-get update && apt-get install -y \
    libcurl4-openssl-dev \
    libssl-dev \
    libzip-dev \
    libbrotli-dev \
    unzip && \
    docker-php-ext-install zip

RUN pecl install swoole && \
    docker-php-ext-enable swoole

WORKDIR /var/www

构建镜像

docker build -t php8.2-swoole:v1.0.0 .

3、在本地创建目录 C:\Users\junwind\Desktop\wwwroot\learnProject\seckill\v1,共享到虚拟机中的 /www/wwwroot,共享文件夹配置如下

vmhgfs-fuse /www/wwwroot fuse allow_other,defaults 0 0

4、执行composer init ,创建一个基本的架子。

composer init

Package name (<vendor>/<name>) [root/v1]: junwind/seckill     // 输入项目名称
...
Author [n to skip]: junwind    // 输入作者

// 后面的一路回车跳过即可,最终生成的结果如下图

我们将 src 改为 app,将 composer.json 中的 autoload 改为

"autoload": {
	"psr-4": {
		"App\\": "app/"
	}
},

然后执行 composer dump-autoload 重置一下 vendor的自动加载文件。

运行docker容器

// 运行一个容器
docker run -it \
--name seckill \
-p 8001:80 \
-v /www/wwwroot/learnProject/seckill/v1:/var/www/v1 \
php8.2-swoole:v1.0.0 sh

// 执行后,会直接进入到容器内部,我们可以查看一下v1
# ls v1
app  composer.json  vendor

// 退出容器,退出后,容器会停止
exit

// 容器常驻运行
docker start seckill

// 进入到运行的容器内部
docker exec -it seckill bash

此时,我们windows本地的代码会同步到虚拟机中,虚拟机中会同步到docker中,最终依托于docker环境,运行我们的代码。

将swoole-ide-helper库添加到phpstorm中

这个库可以对swoole的代码有提示

1、在GitHub中搜索 swoole ide helper,https://github.com/wudi/swoole-ide-helper.git

2、克隆到本地桌面即可。

3、配置phpstorm外部库

手写 http server

docker exec -it seckill bash
cd /var/www/v1
php index.php

在本地windows主机访问 http://192.168.0.101:8001

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇