feat: 添加版本和构建时间变量 fix: 修正短信队列类型注释错误 style: 清理未使用的代码和测试文件 docs: 更新安装文档中的下载链接 chore: 迁移数据库脚本添加日志和订阅配置
3.5 KiB
Installation Instructions
Prerequisites
- MySQL 5.7+ (recommended: 8.0)
- Redis 6.0+ (recommended: 7.0)
Binary Installation
- Determine your system architecture and download the corresponding binary file.
Download URL: https://github.com/perfect-panel/server/releases
Example setup: OS: Linux amd64, User: root, Current directory: /root
- Download the binary file:
$ wget https://github.com/perfect-panel/server/releases/download/v1.0.0/ppanel-server-linux-amd64.tar.gz
- Extract the binary file:
$ tar -zxvf ppanel-server-linux-amd64.tar.gz
- Navigate to the extracted directory:
$ cd ppanel-server-linux-amd64
- Grant execution permissions to the binary:
$ chmod +x ppanel
- Create a systemd service file:
$ cat > /etc/systemd/system/ppanel.service <<EOF
[Unit]
Description=PPANEL Server
After=network.target
[Service]
ExecStart=/root/ppanel-server-linux-amd64/ppanel
Restart=always
User=root
WorkingDirectory=/root/ppanel-server-linux-amd64
[Install]
WantedBy=multi-user.target
EOF
- Reload the systemd service configuration:
$ systemctl daemon-reload
- Start the service:
$ systemctl start ppanel
Additional Notes
-
Installation Path: The binary files will be extracted to /root/ppanel-server-linux-amd64.
-
systemd Service:
-
Service Name: ppanel
-
Service Configuration File: /etc/systemd/system/ppanel.service
-
Service Commands:
-
Start: systemctl start ppanel
-
Stop: systemctl stop ppanel
-
Restart: systemctl restart ppanel
-
Status: systemctl status ppanel
-
Enable on Boot: systemctl enable ppanel
-
-
Enable Auto-start: Use the following command to enable the service on boot:
$ systemctl enable ppanel -
Service Logs: By default, logs are output to
/root/ppanel-server-linux-amd64/ppanel.log. -
You can view service logs using:
journalctl -u ppanel -f -
If the configuration file is missing or empty, the service will start with default settings. The configuration file path is
./etc/ppanel.yaml. Accesshttp://<server_address>:8080/initto initialize the system configuration.
NGINX Reverse Proxy Configuration
Below is an example configuration to proxy the ppanel service to the domain api.ppanel.dev:
server {
listen 80;
server_name ppanel.dev;
location / {
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 REMOTE-HOST $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_http_version 1.1;
add_header X-Cache $upstream_cache_status;
# Set Nginx Cache
set $static_file_cache 0;
if ($uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$") {
set $static_file_cache 1;
expires 1m;
}
if ($static_file_cache = 0) {
add_header Cache-Control no-cache;
}
}
}
If using Cloudflare as a proxy service, you need to retrieve the user's real IP address. Add the following to the http section of the NGINX configuration file:
- Dependency:
ngx_http_realip_module. Check if your NGINX build includes this module by runningnginx -V. If not, you will need to recompile NGINX with this module.
# Cloudflare Start
set_real_ip_from 0.0.0.0/0;
real_ip_header X-Forwarded-For;
real_ip_recursive on;
# Cloudflare End