188 lines
3.6 KiB
Markdown
188 lines
3.6 KiB
Markdown
|
|
# SkyArtShop Server Management
|
||
|
|
|
||
|
|
Your SkyArtShop server is now configured to run persistently on **localhost:5000** using PM2 process manager.
|
||
|
|
|
||
|
|
## ✅ What's Been Set Up
|
||
|
|
|
||
|
|
1. **PM2 Process Manager** - Manages your Node.js server
|
||
|
|
2. **Auto-Restart** - Server automatically restarts if it crashes
|
||
|
|
3. **Boot Startup** - Server starts automatically when system boots
|
||
|
|
4. **Zero restarts** - Currently running with 0 crashes (stable!)
|
||
|
|
|
||
|
|
## 🚀 Server Status
|
||
|
|
|
||
|
|
Your server is currently **ONLINE** and running at:
|
||
|
|
|
||
|
|
- **URL**: <http://localhost:5000>
|
||
|
|
- **Mode**: Development
|
||
|
|
- **Database**: PostgreSQL (skyartshop)
|
||
|
|
- **Process Manager**: PM2
|
||
|
|
|
||
|
|
## 📝 Quick Commands
|
||
|
|
|
||
|
|
### Check Server Status
|
||
|
|
|
||
|
|
```bash
|
||
|
|
cd /media/pts/Website/SkyArtShop
|
||
|
|
./manage-server.sh status
|
||
|
|
```
|
||
|
|
|
||
|
|
### View Live Logs
|
||
|
|
|
||
|
|
```bash
|
||
|
|
./manage-server.sh logs
|
||
|
|
```
|
||
|
|
|
||
|
|
(Press Ctrl+C to exit)
|
||
|
|
|
||
|
|
### Restart Server
|
||
|
|
|
||
|
|
```bash
|
||
|
|
./manage-server.sh restart
|
||
|
|
```
|
||
|
|
|
||
|
|
### Stop Server
|
||
|
|
|
||
|
|
```bash
|
||
|
|
./manage-server.sh stop
|
||
|
|
```
|
||
|
|
|
||
|
|
### Start Server
|
||
|
|
|
||
|
|
```bash
|
||
|
|
./manage-server.sh start
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🔍 Advanced PM2 Commands
|
||
|
|
|
||
|
|
```bash
|
||
|
|
# Detailed status
|
||
|
|
pm2 show skyartshop
|
||
|
|
|
||
|
|
# Monitor CPU/Memory in real-time
|
||
|
|
pm2 monit
|
||
|
|
|
||
|
|
# View logs (last 100 lines)
|
||
|
|
pm2 logs skyartshop --lines 100
|
||
|
|
|
||
|
|
# Clear logs
|
||
|
|
pm2 flush
|
||
|
|
|
||
|
|
# List all PM2 processes
|
||
|
|
pm2 list
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🌐 Accessing Your Website
|
||
|
|
|
||
|
|
- **Homepage**: <http://localhost:5000>
|
||
|
|
- **Shop Page**: <http://localhost:5000/shop.html>
|
||
|
|
- **Admin Login**: <http://localhost:5000/admin/login.html>
|
||
|
|
|
||
|
|
## 🔄 Auto-Restart Features
|
||
|
|
|
||
|
|
Your server will automatically:
|
||
|
|
|
||
|
|
- ✅ Restart if it crashes
|
||
|
|
- ✅ Start when you boot your computer
|
||
|
|
- ✅ Stay running even when VS Code is closed
|
||
|
|
- ✅ Recover from unexpected errors
|
||
|
|
|
||
|
|
## 📊 Log Files
|
||
|
|
|
||
|
|
Logs are stored in two locations:
|
||
|
|
|
||
|
|
**PM2 Logs:**
|
||
|
|
|
||
|
|
- Output: `/var/log/skyartshop/pm2-output.log`
|
||
|
|
- Errors: `/var/log/skyartshop/pm2-error.log`
|
||
|
|
|
||
|
|
**View logs:**
|
||
|
|
|
||
|
|
```bash
|
||
|
|
tail -f /var/log/skyartshop/pm2-output.log
|
||
|
|
tail -f /var/log/skyartshop/pm2-error.log
|
||
|
|
```
|
||
|
|
|
||
|
|
## ⚙️ Configuration Files
|
||
|
|
|
||
|
|
- **PM2 Config**: `ecosystem.config.js`
|
||
|
|
- **Environment**: `backend/.env`
|
||
|
|
- **Server Script**: `backend/server.js`
|
||
|
|
|
||
|
|
## 🛑 Stopping Auto-Start
|
||
|
|
|
||
|
|
If you want to disable auto-start on boot:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
pm2 unstartup systemd
|
||
|
|
```
|
||
|
|
|
||
|
|
To re-enable:
|
||
|
|
|
||
|
|
```bash
|
||
|
|
sudo env PATH=$PATH:/usr/bin pm2 startup systemd -u pts --hp /home/pts
|
||
|
|
pm2 save
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🔧 Troubleshooting
|
||
|
|
|
||
|
|
### Server not responding?
|
||
|
|
|
||
|
|
```bash
|
||
|
|
./manage-server.sh status
|
||
|
|
# Check if status shows "online"
|
||
|
|
```
|
||
|
|
|
||
|
|
### Check for errors in logs
|
||
|
|
|
||
|
|
```bash
|
||
|
|
./manage-server.sh logs
|
||
|
|
# or
|
||
|
|
pm2 logs skyartshop --err
|
||
|
|
```
|
||
|
|
|
||
|
|
### Force restart
|
||
|
|
|
||
|
|
```bash
|
||
|
|
pm2 delete skyartshop
|
||
|
|
cd /media/pts/Website/SkyArtShop
|
||
|
|
pm2 start ecosystem.config.js
|
||
|
|
pm2 save
|
||
|
|
```
|
||
|
|
|
||
|
|
### Check what's using port 5000
|
||
|
|
|
||
|
|
```bash
|
||
|
|
sudo lsof -i :5000
|
||
|
|
```
|
||
|
|
|
||
|
|
## 📁 Project Structure
|
||
|
|
|
||
|
|
```
|
||
|
|
/media/pts/Website/SkyArtShop/
|
||
|
|
├── backend/
|
||
|
|
│ ├── server.js # Main server file
|
||
|
|
│ ├── .env # Environment variables
|
||
|
|
│ └── ...
|
||
|
|
├── website/
|
||
|
|
│ ├── public/ # Public HTML pages
|
||
|
|
│ ├── admin/ # Admin panel
|
||
|
|
│ └── assets/ # CSS, JS, images
|
||
|
|
├── ecosystem.config.js # PM2 configuration
|
||
|
|
└── manage-server.sh # Server management script
|
||
|
|
```
|
||
|
|
|
||
|
|
## 🎯 Key Benefits
|
||
|
|
|
||
|
|
1. **No VS Code Required** - Server runs independently
|
||
|
|
2. **Automatic Recovery** - Restarts on crashes
|
||
|
|
3. **Boot Persistence** - Starts with your system
|
||
|
|
4. **Easy Management** - Simple commands via manage-server.sh
|
||
|
|
5. **Production Ready** - PM2 is industry standard for Node.js
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Server Manager Script**: `./manage-server.sh {start|stop|restart|status|logs}`
|
||
|
|
|
||
|
|
For help: `./manage-server.sh` (shows usage)
|