سرویس systemd
باینری پنل را به شکل یک سرویس بومی اجرا کنید که در بوت و در خطا دوباره راه میافتد.
آخرین بهروزرسانی ۲۳ مرداد ۱۴۰۵نمایش بهصورت مارکداون
مرور کلی
در حالت systemd، پنل به شکل باینری خالی nasnet-panel اجرا میشود و یک فایل unit
مدیریتش میکند، بدون اینکه Docker در کار باشد. اگر استقرار systemd را انتخاب
کنید، نصبکنندهٔ راهنما همین unit را برایتان مینویسد. این صفحه نشان میدهد چه چیزی
تولید میشود، تا بتوانید بازبینیاش کنید، دستی بازسازیاش کنید، یا یک نصب در حال
اجرا را عیبیابی کنید.
پیش از شروع
- یک توزیع لینوکس بر پایهٔ systemd (
systemctlباید موجود باشد). - باینری
nasnet-panelسر جایش باشد و یک فایل.envکنارش. - یک پایگاهداده در دسترس، یا PostgreSQL روی میزبان یا
DB_DRIVER=sqlite.
گامها
- باینری را در
/usr/local/nasnet-panel/bin/nasnet-panelنصب کنید و.envخودتان را در/usr/local/nasnet-panel/.envبگذارید. - unit را در
/etc/systemd/system/nasnet-panel.serviceبنویسید:
[Unit]
Description=nasnet-panel Backend API
Documentation=https://github.com/nasnet-community/nasnet-panel-linux
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
WorkingDirectory=/usr/local/nasnet-panel
EnvironmentFile=/usr/local/nasnet-panel/.env
ExecStart=/usr/local/nasnet-panel/bin/nasnet-panel serve
Restart=always
RestartSec=5
LimitNOFILE=65536
StandardOutput=journal
StandardError=journal
SyslogIdentifier=nasnet-panel
[Install]
WantedBy=multi-user.target
وقتی PostgreSQL روی همان میزبان اجرا میشود، نصبکننده unit پایگاهداده را به
After= و به یک سطر Requires= هم اضافه میکند، و Environment=DB_HOST=localhost
را میگذارد.
- systemd را بارگذاری دوباره کنید، بعد سرویس را فعال و اجرا کنید.
sudo systemctl daemon-reload
sudo systemctl enable nasnet-panel --now
- مطمئن شوید که در حال اجراست و لاگها را بخوانید.
systemctl is-active nasnet-panel
journalctl -u nasnet-panel -n 50 -f
مرجع
| مسیر | چیست |
|---|---|
/usr/local/nasnet-panel |
پوشهٔ نصب و پوشهٔ کاری |
/usr/local/nasnet-panel/bin/nasnet-panel |
باینری پنل |
/usr/local/nasnet-panel/.env |
فایل محیط که unit بارگذاری میکند |
/etc/systemd/system/nasnet-panel.service |
خود فایل unit |
/usr/local/nasnet-pgsql |
پوشهٔ نصب PostgreSQL همراه بسته، وقتی استفاده شود |
nasnet-postgresql.service |
unit مربوط به PostgreSQL همراه بسته، وقتی استفاده شود |
رفع مشکلات
| نشانه | چه کنید |
|---|---|
| سرویس راه میافتد و بیدرنگ میمیرد. | Restart=always هر پنج ثانیه از نو تلاش میکند، پس برای خطای واقعی journalctl -u nasnet-panel -n 50 را تماشا کنید. کوتاه بودن JWT_SECRET_KEY (کمتر از ۳۲ نویسه) و در دسترس نبودن پایگاهداده دو دلیل رایجتر هستند. |