Hosting a new web-service requires 2 steps:

  1. Create a new virtual host on nginx
  2. Create a systemd service, so that the web-service can start automatically on server restart.

Setup virtual host on nginx

> cd /var/www/frp
> nano frp.smurfpandey.me.conf 

server { listen 80; listen [::]:80; server_name comments.smurfpandey.me; root /var/www/html; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $http_host; proxy_pass http://127.0.0.1:7500; } location ~ /.well-known { allow all; } client_max_body_size 50m; }

> sudo ln -s /var/www/frp/frp.smurfpandey.me.conf /etc/nginx/sites-available/frp.smurfpandey.me.conf
> sudo ln -s /etc/nginx/sites-available/frp.smurfpandey.me.conf /etc/nginx/sites-enabled/frp.smurfpandey.me.conf
> sudo service nginx reload

Create systemd service

> sudo nano /lib/systemd/system/frps.service

[Unit]Description=Frp Server Service After=network.target

[Service] Type=simple User=nobody Restart=on-failure RestartSec=5s ExecStart=/var/www/frp/frps -c /var/www/frp/frps.ini

[Install] WantedBy=multi-user.target


> sudo systemctl start frps
> sudo systemctl status frps
> sudo systemctl enable frps