feat: 集成redis

This commit is contained in:
gua 2023-11-22 14:08:27 +08:00
parent 0789456304
commit fbfe7f3226
8 changed files with 133 additions and 2 deletions

3
.docker/.data/.gitignore vendored Normal file → Executable file
View File

@ -1,2 +1,3 @@
*
!.gitignore
!.gitignore
!redis

2
.docker/.data/redis/.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
*
!.gitignore

1
.docker/etc/crontabs/root Executable file
View File

@ -0,0 +1 @@
* * * * * php /www/artisan schedule:run >> /dev/null 2>&1

View File

@ -0,0 +1,40 @@
server {
listen 7001 default_server;
root /www/public/;
index index.html index.htm;
server_name _;
# 开启 brotli 压缩
brotli on;
brotli_static on;
brotli_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
# 开启 gzip 压缩
gzip on;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
location ~* \.(jpg|jpeg|png|gif|js|css|svg|woff2|woff|ttf|eot|wasm|json|ico)$ {
# 这里将.jpg、.jpeg、.png、.gif、.js和.css文件直接返回给客户端
}
location ~ .* {
proxy_pass http://127.0.0.1:7010;
proxy_http_version 1.1;
proxy_set_header Connection "";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-PORT $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Scheme $scheme;
proxy_set_header Server-Protocol $server_protocol;
proxy_set_header Server-Name $server_name;
proxy_set_header Server-Addr $server_addr;
proxy_set_header Server-Port $server_port;
}
location ~ /\.ht {
deny all;
}
}

View File

@ -0,0 +1,65 @@
[supervisord]
nodaemon=true
logfile=/dev/null
logfile_maxbytes=0
pidfile=/tmp/supervisord.pid
[program:nginx]
command=nginx -g 'daemon off;'
user=root
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
autostart=true
autorestart=true
startretries=10
[program:cron]
command=crond -f -l 8
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
autostart=true
autorestart=true
startretries=10
; [program:laravels]
; command=php bin/laravels start
; directory=/www
; user=www-data
; numprocs=1
; stdout_logfile=/dev/stdout
; stdout_logfile_maxbytes=0
; stderr_logfile=/dev/stderr
; stderr_logfile_maxbytes=0
; autostart=true
; autorestart=true
; startretries=3
[program:adapterman]
command=php -c php.ini webman.php start
directory=/www
user=root
numprocs=1
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
autostart=true
autorestart=true
startretries=3
[program:xboard-queue]
command=php artisan horizon
directory=/www
user=root
stdout_logfile=/www/storage/logs/queue.log
stdout_logfile_maxbytes=0
stderr_logfile=/www/storage/logs/queue_error.log
stderr_logfile_maxbytes=0
autostart=true
autorestart=true
startretries=10
numprocs=1

View File

@ -0,0 +1,5 @@
FROM redis:7-alpine
RUN mkdir -p /run/redis-socket && chmod 777 /run/redis-socket
COPY ./redis.conf /etc/redis.conf
CMD ["redis-server", "/etc/redis.conf"]

View File

@ -0,0 +1,3 @@
unixsocket /run/redis-socket/redis.sock
unixsocketperm 777
port 0

View File

@ -6,4 +6,18 @@ services:
- ./.env:/www/.env
- ./.docker/.data/:/www/.docker/.data/
# - ./config/v2board.php:/www/config/v2board.php
network_mode: host
- redis-socket:/run/redis-socket # 挂载socket
environment:
- docker=true #用于给安装脚本判断是否为docker环境
depends_on:
- redis
ports:
- 7001:7001
redis:
build:
context: .docker/services/redis
volumes:
- ./.docker/.data/redis:/data/ # 挂载redis持久化数据
- redis-socket:/run/redis-socket # 挂载socket
volumes:
redis-socket: