cd api
source _scripts/dev.sh
go run main.go
API Server started in port 8080
cd web
npm run dev
navigate to http://localhost:5500
/etc/nginx/sites-available/default
server {
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/gokarma.in/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/gokarma.in/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
root /var/www/gokarma.in/html;
index index.html index.htm index.nginx-debian.html;
server_name www.gokarma.in gokarma.in;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
location /api/ {
proxy_pass http://localhost:8080/;
}
}
server {
if ($host = www.gokarma.in) {
return 301 https://$host$request_uri;
}
if ($host = gokarma.in) {
return 301 https://$host$request_uri;
}
listen 80 ;
listen [::]:80 ;
server_name www.gokarma.in gokarma.in;
return 404; # managed by Certbot
}
sudo systemctl restart nginx sudo systemctl reload nginx
/lib/systemd/system/goweb.service
[Unit]
Description=goweb
[Service]
Type=simple
Restart=always
RestartSec=5s
ExecStart=/root/apps/bin/todopad-api
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=gowebservice
Environment="PORT=8080"
Environment="SECRET_KEY=@wedidit#foryou*"
Environment="DATABASE_URL=/root/apps/bin/todopad.sqlite"
Environment="MIGRATIONS_DIR=/root/apps/bin"
[Install]
WantedBy=multi-user.target
sudo systemctl goweb restart
Nginx Golang https://www.digitalocean.com/community/tutorials/how-to-deploy-a-go-web-application-using-nginx-on-ubuntu-18-04