Sunday, 14 December 2025

PPanel Easy Mode: Set Up Domain & Nginx in 3 Minutes for Complete Beginners | PPanel安装前戏:小白3分钟搞定域名 + Nginx配置🔥

Hey, wanna install PPanel? Hold up—gotta get your domain and Nginx ready first. Otherwise, it's like trying to make instant noodles without hot water... just staring at dry noodles! 😂 What you need: A domain (I use Cloudflare, example is sahara.de5.net—swap in your own, okay?) + A server with root access (don't tell me you don't have one yet~).


Pro move: Add an A record (or AAAA for IPv6) in your domain DNS settings, pointing to your server's IP. Once that's done, SSH into your server (I went straight for Google Cloud), and let's roll!


Easy, right? Follow along, no crashes guaranteed—because I've already crashed for you! 🚗💨


嘿!想装PPanel?先别急——域名和Nginx得安排上,不然就像煮泡面没开水,干瞪眼!😂 你需要啥:一个域名(我托管在Cloudflare,示例是sahara.de5.net,你换成自己的哦!)+ 一台有root权限的服务器(别告诉我还没有~)。

骚操作:在域名托管那儿加个A记录(IPv6就加AAAA),把域名指向服务器IP。搞定后,ssh连上服务器(我直接怼了谷歌云),准备开整!


简单吧?跟着走,不翻车,因为我翻过车了~🚗💨


# 用这个命令查看一下OS | Check the OS with this command

uname -a && cat /proc/version


# 转换到root用户 | Switch to root user

sudo -i


# 更新软件 | Update software packages

sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y


# 安装一下 curl nginx vim | Install curl nginx vim

apt install -y curl nginx vim


# 检查一下nginx是否已经安装好 | Check if nginx is installed correctly

which nginx


# 启动nginx | Start nginx

systemctl enable --now nginx



# 安装acme, 它能够自动获取SSL/TLS证书 | Install acme, which can automatically obtain SSL/TLS certificates

curl https://get.acme.sh | sh -s

export PATH="$HOME/.acme.sh:$PATH"


# 创建ppanel配置文件到Nginx底下 | Create ppanel config file under Nginx

touch /etc/nginx/conf.d/ppanel.conf


# 复制的配置文件内容 -- {sahara.de5.net -> 你的域名} | Configuration file content -- {sahara.de5.net -> your domain}

server {

    listen 80;

    listen [::]:80;


    server_name admin.sahara.de5.net

                user.sahara.de5.net

                api.sahara.de5.net;


    location /.well-known/acme-challenge {

        root /opt/ppanel;

    }

}



# 重新加载nginx | Reload nginx

nginx -t && nginx -s reload


# 创建验证⽬录 | Create verification directory

mkdir -p /opt/ppanel/.well-known/acme-challenge


# 创建证书存放⽬录 | Create certificate storage directory

mkdir /opt/ppanel/certs


# 创建ssl证书 -- {sahara.de5.net -> 你的域名} | Create SSL certificate -- {sahara.de5.net -> your domain}

acme.sh --issue --server letsencrypt \

-d admin.sahara.de5.net \

-d api.sahara.de5.net \

-d user.sahara.de5.net \

-w /opt/ppanel


# 查看服务器公网IP | Check server public IP

curl -4 ipinfo.io/ip


# 安装证书 -- {sahara.de5.net -> 你的域名} | Install certificate -- {sahara.de5.net -> your domain}

acme.sh --install-cert -d admin.sahara.de5.net \

  --key-file /opt/ppanel/certs/key.pem \

  --fullchain-file /opt/ppanel/certs/cert.pem \

  --reloadcmd "systemctl reload nginx"


# 自动刷新 -- {sahara.de5.net -> 你的域名} | Auto-renew -- {sahara.de5.net -> your domain}

# 每天凌晨 1:30 自动执行 "证书续期" 的任务,让SSL证书不会过期。 | Automatically renew SSL certificate at 1:30 AM daily to prevent expiration

echo "30 1 * * * \

acme.sh --renew \

  -d admin.sahara.de5.net \

  -d api.sahara.de5.net \

  -d user.sahara.de5.net \

  --force &> /dev/null" \

>> /etc/cron.d/ppanel_domain \

&& chmod +x /etc/cron.d/ppanel_domain


# 确认定时更新SSL任务添加 | Confirm scheduled SSL renewal task added

cat /etc/cron.d/ppanel_domain

# 应该能看到下面这个东西 -- {sahara.de5.net -> 你的域名}: | You should see the following -- {sahara.de5.net -> your domain}:

30 1 * * * acme.sh --renew -d admin.sahara.de5.net -d api.sahara.de5.net -d user.sahara.de5.net --force &> /dev/null


# 配置Nginx, 要进到/打开这个nginx的配置文件(/etc/nginx/nginx.conf) | Configure Nginx, open this nginx config file (/etc/nginx/nginx.conf)

# {sahara.de5.net -> 你的域名} | {sahara.de5.net -> your domain}

user www-data;

worker_processes auto;

pid /run/nginx.pid;

include /etc/nginx/modules-enabled/*.conf;


events {

    worker_connections 768;

}


http {

    sendfile on;

    tcp_nopush on;

    tcp_nodelay on;

    keepalive_timeout 65;

    types_hash_max_size 2048;

    include /etc/nginx/mime.types;

    default_type application/octet-stream;


    # 日志格式(可选) | Log format (optional)

    log_format main '$remote_addr - $remote_user [$time_local] "$request" '

                    '$status $body_bytes_sent "$http_referer" '

                    '"$http_user_agent" "$http_x_forwarded_for"';


    access_log /var/log/nginx/access.log main;

    error_log  /var/log/nginx/error.log warn;


    ### =============== HTTP Server ===============

    server {

        listen 80;

        listen [::]:80;


        server_name admin.sahara.de5.net api.sahara.de5.net user.sahara.de5.net;


        # Let's Encrypt 验证目录 | Let's Encrypt verification directory

        location ^~ /.well-known/acme-challenge/ {

            root /opt/ppanel;

            default_type "text/plain";

        }


        # 其他请求全部重定向到 HTTPS | Redirect all other requests to HTTPS

        location / {

            return 301 https://$host$request_uri;

        }

    }


    ### =============== HTTPS for admin ===============

    server {

        listen 443 ssl http2;

        listen [::]:443 ssl http2;

        server_name admin.sahara.de5.net;


        ssl_certificate     /opt/ppanel/certs/cert.pem;

        ssl_certificate_key /opt/ppanel/certs/key.pem;

        ssl_protocols TLSv1.2 TLSv1.3;

        ssl_ciphers HIGH:!aNULL:!MD5;

        ssl_session_cache shared:SSL:10m;

        ssl_session_timeout 10m;

        ssl_prefer_server_ciphers on;


        location / {

            proxy_pass http://127.0.0.1:3001;

            proxy_http_version 1.1;

            proxy_set_header Upgrade $http_upgrade;

            proxy_set_header Connection "upgrade";

            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;

        }

    }


    ### =============== HTTPS for api ===============

    server {

        listen 443 ssl http2;

        listen [::]:443 ssl http2;

        server_name api.sahara.de5.net;


        ssl_certificate     /opt/ppanel/certs/cert.pem;

        ssl_certificate_key /opt/ppanel/certs/key.pem;

        ssl_protocols TLSv1.2 TLSv1.3;

        ssl_ciphers HIGH:!aNULL:!MD5;

        ssl_session_cache shared:SSL:10m;

        ssl_session_timeout 10m;

        ssl_prefer_server_ciphers on;


        location / {

            proxy_pass http://127.0.0.1:8080;

            proxy_http_version 1.1;

            proxy_set_header Upgrade $http_upgrade;

            proxy_set_header Connection "upgrade";

            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;

        }

    }


    ### =============== HTTPS for user ===============

    server {

        listen 443 ssl http2;

        listen [::]:443 ssl http2;

        server_name user.sahara.de5.net;


        ssl_certificate     /opt/ppanel/certs/cert.pem;

        ssl_certificate_key /opt/ppanel/certs/key.pem;

        ssl_protocols TLSv1.2 TLSv1.3;

        ssl_ciphers HIGH:!aNULL:!MD5;

        ssl_session_cache shared:SSL:10m;

        ssl_session_timeout 10m;

        ssl_prefer_server_ciphers on;


        location / {

            proxy_pass http://127.0.0.1:3002;

            proxy_http_version 1.1;

            proxy_set_header Upgrade $http_upgrade;

            proxy_set_header Connection "upgrade";

            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;

        }

    }

}


# 检测nginx语法,重新加载nginx | Check nginx syntax, reload nginx

nginx -t && nginx -s reload


# 域名配置完成之后,就可以开始安装PPanel了. | After domain configuration is complete, you can start installing PPanel.

# 这个是官网的PPanel Docker 一件安装命令(2025年12月13号) | This is the official PPanel Docker one-click installation command. (13/12/2025)

bash <(curl -fsSL https://raw.githubusercontent.com/perfect-panel/ppanel-script/refs/heads/main/install.sh)


Tuesday, 9 December 2025

LLM+FLUX.2! AI Art Secret, Secure & Free to Beat MJ | LLM+FLUX.2! AI作图秘籍,安全免费赢MJ 🖼️

Ditch the "Jade Arm Rest" Misery, Let AI Create | Slogan: 拒绝玉臂搁的卑微,让AI替你创作

Did you hear that ancient scholars used beautiful maids as a “Jade Arm Rest” while writing, just to feel that soft support? That humbling act of treating flesh and blood as a mere tool—doesn't that sound like you, manually tweaking images and editing assets for a marketing campaign? 😭

Stop being the human tool! Today, I’ll show you how to build a safe and hyper-efficient AIGC backend flow using a free AI "bundle," turning email inspiration into a viral illustration instantly!

The Beginner-Friendly AI Creative Backend Pipeline:

  1. Secure Input (Gmail Privacy) 🔒
    Inspiration comes from emails, but data leaks are treason! Our backend must first ensure: Gmail explicitly confirms your email content will NOT be used to train Gemini AI! This Data Isolation/Privacy Protection is the essential Security Gate for the whole Tooling process.

  2. Committee Orchestration (Karpathy Vibe Code) 🧠
    Raw inspiration is not enough! We adopt Andrej Karpathy's "Vibe Code" concept by establishing an AI Committee. Orchestrate multiple LLMs (e.g., let Claude Opus 4.5 suggest strategy, another suggest angles) to provide Critiques and collaboratively refine the initial idea into the most precise, eye-catching Prompt. This is the missing layer of Enterprise AI Orchestration!

  3. Free Output, Midjourney Challenger (FLUX.2) 🎨
    With the golden Prompt ready, why pay? Directly call German Black Forest Labs' FLUX.2 AI Image Model! Its performance reportedly challenges Nano Banana Pro and Midjourney, but it is free and Open Source! Through a backend API Call, it instantly generates your high-quality marketing visual or performs the Editing System task perfectly!

Summary:

From secure inspiration to precise strategy and free, high-quality output, the flow is seamless. Let Free AI be your creative backend—you just enjoy the results! 🎉


听说古代文人写字时,不用冰冷的木头,而是用年轻貌美的婢女做**“玉臂搁”**,只为求那一点温软的支撑。这种将血肉之躯当成工具支撑的卑微,像不像还在手动抠图、为一张营销素材图反复修改的你?😭

别当人肉工具了!今天教你用免费的AI“全家桶”搭建一个安全又高效AIGC后台流程,一键把邮件里的灵感变成爆款插画!

小白也能上手的AI创作后台流程:

  1. 安全输入,确保隐私 (Gmail Privacy) 🔒
    灵感源于邮件,但泄密是大忌!我们后端首先要确认,Gmail已明确承诺,你的邮件内容不会用于训练 Gemini AI!这个数据隔离/隐私保护是整个 AIGC Tooling 的安全底座。

  2. AI委员会,精准提炼 (Karpathy Vibe Code) 🧠
    光有原始灵感不够!我们模仿 Andrej Karpathy 的 “Vibe Code” 概念,建立一个AI委员会。让多个 LLMs 互相 Critiques(比如让一个Claude Opus 4.5提策略,一个Gemini 3提角度),通过Enterprise AI Orchestration,帮你从模糊的邮件内容中提炼出最精准、最有“Vibe”的 Prompt!

  3. 免费出图,挑战Midjourney (FLUX.2) 🎨
    有了黄金 Prompt,谁还用付费工具?直接调用德国 Black Forest Labs 发布的 FLUX.2 AI Image Model!它性能号称能挑战 Nano Banana Pro 和 Midjourney,但它对开发者是免费且 Open Source 的!通过后台 API调用,瞬间生成完美符合你需求的营销大图或进行 Editing System 处理!

总结:

从安全的灵感到委员会的精准策略,再到免费的高质量输出,整个流程行云流水。让免费AI成为你的创作后台,你只需负责享受成果!🎉