TopicQ-Server
TopicQ-Server copied to clipboard
TopicQ微社区的完整后端服务代码,基于Hyperf2.1框架开发
TopicQ微社åºåå°å¼æºå·¥ç¨
è¿è¡ç¯å¢è¦æ±
åå°åºäºHyperfæ¡æ¶ææ°çæ¬2.1è¿è¡å¼å
-
PHP >= 7.4
-
Swoole PHP æ©å± >= 4.5ï¼å¹¶å ³éäº Short Name
-
OpenSSL PHP æ©å±
-
JSON PHP æ©å±
-
PDO PHP æ©å± ï¼å¦éè¦ä½¿ç¨å° MySQL 客æ·ç«¯ï¼
-
Redis PHP æ©å± ï¼å¦éè¦ä½¿ç¨å° Redis 客æ·ç«¯ï¼
-
Protobuf PHP æ©å± ï¼å¦éè¦ä½¿ç¨å° gRPC æå¡ç«¯æ客æ·ç«¯ï¼
-
æ°æ®åºMysql >= 5.7
-
Redis 建议ææ°çæ¬
项ç®å®è£
- å éæä¸è½½masteråæ¯
- æ¬å°æcomposerå¯ç´æ¥æ§è¡composer install
- æ¬å°æ composerè¿å ¥hyperf-skeletionç®å½ï¼æ§è¡php composer.phar install
项ç®é ç½®
#æå¡åºæ¬é
ç½®
APP_NAME=dev_jianghu
APP_ENV=dev
#æå¡ç«¯å£
HTTP_SERVER_PORT=9111
#çæ§æ°æ®ç«¯å£
PROMETHEUS_SCRAPE_PORT=9112
#éæéå
¬ä¼å·æ¯å¦å
³æ³¨çå¯é
ç½®ä¸é¢å
¬ä¼å·ä¿¡æ¯
WX_FA_APPID=
WX_FA_SECRET=
WX_FA_TOKEN=
WX_FA_AES_EY=
#ç¾åº¦å°ç¨åºé
ç½®
BAIDU_CLIENT_ID=
BAIDU_SECRET=
#QQå°ç¨åºé
ç½®
QQ_APPID=
QQ_SECRET=
#ESé
ç½®ï¼å¯é¾æ¥æ¬å°æå¡
SCOUT_PREFIX=
ELASTICSEARCH_HOST=
#ç¨æ·é»è®¤å°åä¿¡æ¯
REGISTER_AREA=
REGISTER_COUNTRY=
#å¤å¤å®¢é
ç½®
PDD_CLIENT_ID=
PDD_CLIENT_SECRET=
PDD_AUTH_CODE=1
#é£é¹
æå°æºé
ç½®
PRINTER_USER=
PRINTER_KEY=
#微信æ¯ä»ä¿¡æ¯
WX_PAY_MCH_ID=åæ·å·
WX_PAY_SECRET=å¯é¥
WX_PAY_NOTIFY_URL=//åè°å°å
#微信å°ç¨åºé
ç½®
WX_MINI_ENV=trial\release
WX_MINI_APPID=
WX_MINI_SECRET=
#é´æ
SIMPLE_JWT_SECRET=//
SIMPLE_JWT_TTL=//token æææ¶é´ åä½ ç§
#ZGWåè®®
#请æ±å
æ¯å¦å¼ºå¶æ ¡éªç¾åtrue\false
ZGW_FORCE_AUTH=
#ç¾åå¯é¥å¯¹ key&secret ä¾. devtopic&topic
ZGW_SECRET_LIST=
#ç¾åæææ¶é´ï¼åä½ç§
ZGW_SIGN_TTL=
#å
许跨åååå表ï¼å¤ä¸ªåå·åå²
CORS_ORIGIN_LIST=
#ä¸çé
ç½®ï¼ç¨äºåå¨åçä¿¡éªè¯ç åé
#cdnåå
QINIU_CDN_DOMAIN=
QINIU_SMS_APP_NAME=TopicQ
#éªè¯ç ç信模ç
QINIU_LOGIN_SMS_TEMP_ID=
QINIU_ACCESS_KEY=
QINIU_SECRET_KEY=
QINIU_BUCKET=
#æ°æ®åºé
ç½®
DB_DRIVER=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=
DB_USERNAME=
DB_PASSWORD=
DB_CHARSET=utf8mb4
DB_COLLATION=utf8mb4_unicode_ci
#redisé
ç½®
REDIS_HOST=localhost
REDIS_AUTH=
REDIS_PORT=6379
REDIS_DB=7
nginxé ç½®
server {
#SSL 访é®ç«¯å£å·ä¸º 443
listen 443 ssl;
#å¡«åç»å®è¯ä¹¦çåå
server_name example.com;
#è¯ä¹¦æ件å称
ssl_certificate 1_example.com_bundle.crt;
#ç§é¥æ件å称
ssl_certificate_key 2_example.com.key;
ssl_session_timeout 5m;
#请æç
§ä»¥ä¸åè®®é
ç½®
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
#请æç
§ä»¥ä¸å¥ä»¶é
ç½®ï¼é
ç½®å å¯å¥ä»¶ï¼åæ³éµå¾ª openssl æ åã
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
error_log /www/server/nginx/logs/example.com-error_log;
access_log /www/server/nginx/logs/example.com-access_log;
proxy_connect_timeout 30;
proxy_send_timeout 600;
proxy_read_timeout 600;
location / {
index index.html index.htm;
root /data/develop/dev.jianghu.lulinggushi.com/jianghu-server/hyperf-skeleton/public;
proxy_http_version 1.1;
proxy_set_header Connection "keep-alive";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:9111;
}
location /wxpay/notify {
index index.html index.htm;
root /data/release/weshop.lulinggushi.com/public;
proxy_http_version 1.1;
proxy_set_header Connection "keep-alive";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:9111/wxpay/notify;
}
location /qiniu/notify {
index index.html index.htm;
root /data/develop/dev.jianghu.lulinggushi.com/jianghu-server/hyperf-skeleton/public;
proxy_http_version 1.1;
proxy_set_header Connection "keep-alive";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:9111/qiniu/notify;
}
location /pdd/notify {
index index.html index.htm;
root /data/develop/dev.jianghu.lulinggushi.com/jianghu-server/hyperf-skeleton/public;
proxy_http_version 1.1;
proxy_set_header Connection "keep-alive";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:9111/pdd/notify;
}
location /api {
index index.html index.htm;
root /data/develop/dev.jianghu.lulinggushi.com/jianghu-server/hyperf-skeleton/public;
proxy_http_version 1.1;
proxy_set_header Connection "keep-alive";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:9111;
}
location /captcha/ {
expires 30d;
root /data/develop/dev.jianghu.lulinggushi.com/jianghu-server/hyperf-skeleton/public;
client_max_body_size 10m;
client_body_buffer_size 1280k;
proxy_connect_timeout 900;
proxy_send_timeout 900;
proxy_read_timeout 900;
proxy_buffer_size 40k;
proxy_buffers 40 320k;
proxy_busy_buffers_size 640k;
proxy_temp_file_write_size 640k;
}
}
æå¡ç®¡ç
è¿å ¥ hyperf-skeleton æ件夹
- cp .env.example .env å¡«åé ç½®æ件
- æ°æ®åºåå§å: php bin/hyperf.php migrate --seed
- å¯å¨: php bin/hyperf.php server start
- åæ¢: php bin/hyperf.php server stop
æ³ç¨è¿ä¸ªåå°æå¡æ¡æ¶
- å¦ææ³åºäºåæ ·çæ¡æ¶ï¼æ建èªå·±çæå¡ï¼å¯ä»¥åèhttps://github.com/zyprosoft/hyperf-skeleton
- 使ç¨èææ¶å¯ä»¥å¿«éæ建åºåæ ·ç项ç®æå¡æ¨¡æ¿
é®é¢å¨è¯¢
QQ: 1003081775 微信: zyprosoft