fix(infra): 3 mejoras críticas — minify script + Quart producción + particionamiento bloqueado
- scripts/minify-assets.sh: excluye archivos .min.* para evitar .min.min.* - nginx/nexus-pos.conf: agrega upstream nexus_quart + location /pos/api/catalog/async-search - nexus-quart.service: servicio systemd para hypercorn en puerto 5002 - particionamiento vehicle_parts: BLOQUEADO — tabla 254 GB, disco solo 177 GB libres
This commit is contained in:
@@ -13,6 +13,10 @@ upstream nexus_pos {
|
|||||||
server 127.0.0.1:5001;
|
server 127.0.0.1:5001;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
upstream nexus_quart {
|
||||||
|
server 127.0.0.1:5002;
|
||||||
|
}
|
||||||
|
|
||||||
# Gzip compression
|
# Gzip compression
|
||||||
gzip on;
|
gzip on;
|
||||||
gzip_vary on;
|
gzip_vary on;
|
||||||
@@ -93,6 +97,20 @@ server {
|
|||||||
proxy_buffers 8 4k;
|
proxy_buffers 8 4k;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Async catalog search via Quart+asyncpg (non-blocking I/O)
|
||||||
|
location /pos/api/catalog/async-search {
|
||||||
|
proxy_pass http://nexus_quart;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto $scheme;
|
||||||
|
proxy_set_header X-Tenant-Subdomain $tenant;
|
||||||
|
proxy_connect_timeout 5s;
|
||||||
|
proxy_send_timeout 30s;
|
||||||
|
proxy_read_timeout 30s;
|
||||||
|
proxy_buffering off;
|
||||||
|
}
|
||||||
|
|
||||||
# Rate limit login endpoint
|
# Rate limit login endpoint
|
||||||
location /pos/api/auth/login {
|
location /pos/api/auth/login {
|
||||||
limit_req zone=pos_login burst=5 nodelay;
|
limit_req zone=pos_login burst=5 nodelay;
|
||||||
|
|||||||
@@ -4,16 +4,23 @@
|
|||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo "=== Minifying JS assets ==="
|
echo "=== Minifying POS JS assets ==="
|
||||||
for f in /home/Autopartes/pos/static/js/*.js; do
|
for f in /home/Autopartes/pos/static/js/*.js; do
|
||||||
|
# Skip already-minified files to avoid generating .min.min.js
|
||||||
|
case "$f" in
|
||||||
|
*.min.js) continue ;;
|
||||||
|
esac
|
||||||
base=$(basename "$f" .js)
|
base=$(basename "$f" .js)
|
||||||
out="/home/Autopartes/pos/static/js/${base}.min.js"
|
out="/home/Autopartes/pos/static/js/${base}.min.js"
|
||||||
echo " $base.js -> ${base}.min.js"
|
echo " $base.js -> ${base}.min.js"
|
||||||
terser "$f" -o "$out" --compress --mangle 2>/dev/null || cp "$f" "$out"
|
terser "$f" -o "$out" --compress --mangle 2>/dev/null || cp "$f" "$out"
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "=== Minifying CSS assets ==="
|
echo "=== Minifying POS CSS assets ==="
|
||||||
for f in /home/Autopartes/pos/static/css/*.css; do
|
for f in /home/Autopartes/pos/static/css/*.css; do
|
||||||
|
case "$f" in
|
||||||
|
*.min.css) continue ;;
|
||||||
|
esac
|
||||||
base=$(basename "$f" .css)
|
base=$(basename "$f" .css)
|
||||||
out="/home/Autopartes/pos/static/css/${base}.min.css"
|
out="/home/Autopartes/pos/static/css/${base}.min.css"
|
||||||
echo " $base.css -> ${base}.min.css"
|
echo " $base.css -> ${base}.min.css"
|
||||||
@@ -24,15 +31,22 @@ for f in /home/Autopartes/pos/static/css/*.css; do
|
|||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "=== Minifying Dashboard assets ==="
|
echo "=== Minifying Dashboard JS assets ==="
|
||||||
for f in /home/Autopartes/dashboard/*.js; do
|
for f in /home/Autopartes/dashboard/*.js; do
|
||||||
|
case "$f" in
|
||||||
|
*.min.js) continue ;;
|
||||||
|
esac
|
||||||
base=$(basename "$f" .js)
|
base=$(basename "$f" .js)
|
||||||
out="/home/Autopartes/dashboard/${base}.min.js"
|
out="/home/Autopartes/dashboard/${base}.min.js"
|
||||||
echo " $base.js -> ${base}.min.js"
|
echo " $base.js -> ${base}.min.js"
|
||||||
terser "$f" -o "$out" --compress --mangle 2>/dev/null || cp "$f" "$out"
|
terser "$f" -o "$out" --compress --mangle 2>/dev/null || cp "$f" "$out"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
echo "=== Minifying Dashboard CSS assets ==="
|
||||||
for f in /home/Autopartes/dashboard/*.css; do
|
for f in /home/Autopartes/dashboard/*.css; do
|
||||||
|
case "$f" in
|
||||||
|
*.min.css) continue ;;
|
||||||
|
esac
|
||||||
base=$(basename "$f" .css)
|
base=$(basename "$f" .css)
|
||||||
out="/home/Autopartes/dashboard/${base}.min.css"
|
out="/home/Autopartes/dashboard/${base}.min.css"
|
||||||
echo " $base.css -> ${base}.min.css"
|
echo " $base.css -> ${base}.min.css"
|
||||||
|
|||||||
Reference in New Issue
Block a user