Welcome Guest to Defaut site!

Starman High-Performance Perl PSGI Server

1. Installation Sequence

  1. Base System Preparation
    sudo apt update && sudo apt upgrade -y
  2. Dependency Installation
    sudo apt install cpanminus build-essential libssl-dev
  3. Starman Installation
    sudo cpanm Starman
  4. Verification
    starman --version
    Expected output: Starman version x.x

2. Configuration Workflow

  1. Create Service Account
    sudo useradd --system --home-dir /var/www/starman starman
  2. Directory Structure
    sudo mkdir -p /var/www/starman/{app,logs,tmp}
    sudo chown -R starman:starman /var/www/starman
  3. Systemd Service File
    /etc/systemd/system/starman.service
    (Contents as previous documentation)
  4. Reload Daemon
    sudo systemctl daemon-reload

3. SSL Implementation Sequence

  1. Port Preparation
    sudo ufw allow 80/tcp  # For Let's Encrypt validation
  2. Certificate Generation
    sudo certbot certonly --standalone -d starman.example.com
  3. Service File Modification
    --listen :443 \
    --ssl \
    --ssl-cert /etc/letsencrypt/live/example.com/fullchain.pem \
    --ssl-key /etc/letsencrypt/live/example.com/privkey.pem
  4. Firewall Adjustment
    sudo ufw delete allow 80/tcp && sudo ufw allow 443/tcp

4. Catalyst Deployment Flow

  1. PSGI File Creation
    /var/www/starman/app/myapp.psgi
    (Contents as previous)
  2. Dependency Isolation
    # In app directory
    carton init
    echo "requires 'Catalyst::Runtime';" >> cpanfile
    carton install
  3. Environment Configuration
    /etc/starman/environment.conf
    (Set CATALYST_DEBUG=0 etc.)

5. Proxmox Scaling Procedure

  1. Base VM Preparation
    qm clone 1000 1001 --name starman-worker1
  2. Network Configuration
    qm set 1001 -net0 virtio,bridge=vmbr1
  3. Load Balancer Setup
    /etc/haproxy/haproxy.cfg
    (Backend config as previous)
  4. Service Deployment
    scp myapp.psgi starman@worker1:/var/www/starman/app/

6. Diagnostic Sequence

  1. Service Status Check
    sudo systemctl status starman
  2. Log Inspection
    journalctl -u starman -f --since "5 minutes ago"
  3. Port Verification
    sudo ss -tulpn | grep starman
  4. Worker Health Check
    curl -I https://starman.example.com/status