swoole高效能賽事直播平台 筆記

2021-09-28 11:09:11 字數 1638 閱讀 3146

(一)php7原始碼安裝

1.解壓資料夾:tar -xjvf php7.2.21.tar.bz2

2.configure: ./configure  --prefix = /home/soft/php  (php安裝環境目錄)

3.make

在make過程中報錯:

ext/iconv/.libs/iconv.o: in function `php_iconv_stream_filter_ctor':

/ext/iconv/iconv.c:2491: undefined reference to `libiconv_open'

collect2: ld returned 1 exit status

make: *** [sapi/cli/php] error 1

解決方法:

4.make install

5.簡化php執行命令

vi ~/.bash_profile
# .bash_profile

# get the aliases and functions

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi# user specific environment and startup programs

path=$path:$home/.local/bin:$home/bin

#path=/home/soft/php/bin/php

export path

alias php=/home/soft/php/bin/php #自定義的環境目錄

source ~/.bash_profile
6.php.ini 檔案配置

進入解壓後的php7.2.21資料夾,找到php.ini-development 複製到/home/soft/php/lib資料夾下

通過以下命令檢視編譯後php.ini檔案應該存放的位置

(二)原始碼編譯安裝swoole

(四)網路通訊引擎

websocket:websocket協議是基於tcp的一種新的網路協議,它實現了瀏覽器與伺服器全雙工(full-duplex)通訊---允許伺服器主動傳送資訊給客戶端.

為什麼需要wensocket?

http缺陷:http的通訊只能由客戶端發起,(輪詢:效率低,浪費資源)

websocket特點:(聊天室,長連線)

1.建立在tcp協議之上

2.效能開銷小,通訊高效

3.客戶端可以與任意伺服器通訊

4.協議識別符號:ws wss(類似於https)

5.持久化網路通訊協議

參考:

SWOOLE 高效能共享記憶體Table

高效能共享記憶體 table 由於 php 語言不支援多執行緒,因此 swoole 使用多程序模式,在多程序模式下存在程序記憶體隔離,在工作程序內修改 global 全域性變數和超全域性變數時,在其他程序是無效的。設定 worker num 1 時,不存在程序隔離,可以使用全域性變數儲存資料 fds...

高效能 Web 平台 OpenResty

openresty概念 是乙個基於nginx的可伸縮web平台,openresty是乙個基於 nginx 與 lua 的高效能 web 平台,其內部整合了大量精良的 lua 庫 第三方模組以及大多數的依賴項。用於方便地搭建能夠處理超高併發 擴充套件性極高的動態 web 應用 web 服務和動態閘道器...

OpenResty高效能web平台

openresty高效能web平台安裝使用 簡介 openresty 是乙個基於 nginx 與 lua 的高效能 web 平台,其內部整合了大量精良的 lua 庫 第三方模組以及大多數的依賴項。用於方便地搭建能夠處理超高併發 擴充套件性極高的動態 web 應用 web 服務和動態閘道器。openr...