|
@@ -0,0 +1,311 @@
|
|
|
+# Install with Winget
|
|
|
+
|
|
|
+This installation method is designed for Windows users who have the Windows Package Manager (winget) available.
|
|
|
+
|
|
|
+## Prerequisites
|
|
|
+
|
|
|
+- **Windows**: Windows 10 version 1709 (build 16299) or later
|
|
|
+- [Windows Package Manager (winget)](https://learn.microsoft.com/en-us/windows/package-manager/winget/) installed
|
|
|
+
|
|
|
+If you don't have winget installed, you can install it from the [Microsoft Store](https://www.microsoft.com/store/productId/9NBLGGH4NNS1) or download it from the [GitHub releases page](https://github.com/microsoft/winget-cli/releases).
|
|
|
+
|
|
|
+## Installation
|
|
|
+
|
|
|
+### Install Nginx UI
|
|
|
+
|
|
|
+```powershell
|
|
|
+winget install 0xJacky.nginx-ui
|
|
|
+```
|
|
|
+
|
|
|
+This command will:
|
|
|
+- Download and install the latest stable version of Nginx UI to `%LOCALAPPDATA%\Microsoft\WinGet\Packages\0xJacky.nginx-ui__DefaultSource\`
|
|
|
+- Set up the necessary dependencies
|
|
|
+- Add nginx-ui to your system PATH
|
|
|
+
|
|
|
+**Note**: The installation process does not create any configuration files. You will need to create the configuration manually or let Nginx UI create it on first run.
|
|
|
+
|
|
|
+### Verify Installation
|
|
|
+
|
|
|
+After installation, you can verify that Nginx UI is installed correctly:
|
|
|
+
|
|
|
+```powershell
|
|
|
+nginx-ui --version
|
|
|
+```
|
|
|
+
|
|
|
+### Installation Directory
|
|
|
+
|
|
|
+WinGet installs Nginx UI to the user's local directory:
|
|
|
+- **Installation Path**: `%LOCALAPPDATA%\Microsoft\WinGet\Packages\0xJacky.nginx-ui__DefaultSource\`
|
|
|
+- **Executable Path**: `%LOCALAPPDATA%\Microsoft\WinGet\Packages\0xJacky.nginx-ui__DefaultSource\nginx-ui.exe`
|
|
|
+
|
|
|
+You can access this directory using:
|
|
|
+```powershell
|
|
|
+cd "%LOCALAPPDATA%\Microsoft\WinGet\Packages\0xJacky.nginx-ui__DefaultSource\"
|
|
|
+```
|
|
|
+
|
|
|
+## Service Management
|
|
|
+
|
|
|
+On Windows, Nginx UI can be run as a Windows Service or manually started from the command line.
|
|
|
+
|
|
|
+### Install as Windows Service
|
|
|
+
|
|
|
+Since Nginx UI doesn't have built-in Windows service management, you need to manually register it using `sc.exe`:
|
|
|
+
|
|
|
+```powershell
|
|
|
+# Create the service (run as Administrator)
|
|
|
+# Note: WinGet installs to user's local directory
|
|
|
+sc create nginx-ui binPath= "%LOCALAPPDATA%\Microsoft\WinGet\Packages\0xJacky.nginx-ui__DefaultSource\nginx-ui.exe serve" start= auto
|
|
|
+
|
|
|
+# Start the service
|
|
|
+sc start nginx-ui
|
|
|
+```
|
|
|
+
|
|
|
+### Manual Service Management
|
|
|
+
|
|
|
+You can manage the service using Windows Service Manager or PowerShell:
|
|
|
+
|
|
|
+```powershell
|
|
|
+# Start the service
|
|
|
+Start-Service nginx-ui
|
|
|
+
|
|
|
+# Stop the service
|
|
|
+Stop-Service nginx-ui
|
|
|
+
|
|
|
+# Restart the service
|
|
|
+Restart-Service nginx-ui
|
|
|
+
|
|
|
+# Check service status
|
|
|
+Get-Service nginx-ui
|
|
|
+```
|
|
|
+
|
|
|
+### Set Service to Start Automatically
|
|
|
+
|
|
|
+The service is already configured to start automatically with `start= auto` in the creation command above. To change this later:
|
|
|
+
|
|
|
+```powershell
|
|
|
+Set-Service -Name nginx-ui -StartupType Automatic
|
|
|
+```
|
|
|
+
|
|
|
+## Running Manually
|
|
|
+
|
|
|
+If you prefer to run Nginx UI manually instead of as a service:
|
|
|
+
|
|
|
+```powershell
|
|
|
+# Run in foreground
|
|
|
+nginx-ui
|
|
|
+
|
|
|
+# Run with custom config
|
|
|
+nginx-ui serve -config C:\path\to\your\app.ini
|
|
|
+
|
|
|
+# Run directly from installation directory
|
|
|
+"%LOCALAPPDATA%\Microsoft\WinGet\Packages\0xJacky.nginx-ui__DefaultSource\nginx-ui.exe" serve
|
|
|
+
|
|
|
+# Run in background (using Start-Job)
|
|
|
+Start-Job -ScriptBlock { nginx-ui serve }
|
|
|
+```
|
|
|
+
|
|
|
+## Configuration
|
|
|
+
|
|
|
+The configuration file needs to be created manually or will be created on first run. It should be located at:
|
|
|
+
|
|
|
+- **Default Path**: `%LOCALAPPDATA%\nginx-ui\app.ini`
|
|
|
+- **Alternative Path**: `C:\ProgramData\nginx-ui\app.ini`
|
|
|
+
|
|
|
+Data is typically stored in:
|
|
|
+- `%LOCALAPPDATA%\nginx-ui\`
|
|
|
+- `C:\ProgramData\nginx-ui\`
|
|
|
+
|
|
|
+### Creating Configuration
|
|
|
+
|
|
|
+You can either:
|
|
|
+1. **Let Nginx UI create it automatically** - Run nginx-ui for the first time and it will create a default configuration in the current working directory
|
|
|
+2. **Create manually** - Create the directories and configuration file yourself
|
|
|
+
|
|
|
+To create the configuration directory and file manually:
|
|
|
+```powershell
|
|
|
+# Create the configuration directory
|
|
|
+New-Item -ItemType Directory -Force -Path "$env:LOCALAPPDATA\nginx-ui"
|
|
|
+
|
|
|
+# Create a basic configuration file
|
|
|
+@"
|
|
|
+[app]
|
|
|
+PageSize = 10
|
|
|
+
|
|
|
+[server]
|
|
|
+Host = 0.0.0.0
|
|
|
+Port = 9000
|
|
|
+RunMode = release
|
|
|
+
|
|
|
+[cert]
|
|
|
+HTTPChallengePort = 9180
|
|
|
+
|
|
|
+[terminal]
|
|
|
+StartCmd = cmd
|
|
|
+"@ | Out-File -FilePath "$env:LOCALAPPDATA\nginx-ui\app.ini" -Encoding utf8
|
|
|
+```
|
|
|
+
|
|
|
+The default configuration includes:
|
|
|
+```ini
|
|
|
+[app]
|
|
|
+PageSize = 10
|
|
|
+
|
|
|
+[server]
|
|
|
+Host = 0.0.0.0
|
|
|
+Port = 9000
|
|
|
+RunMode = release
|
|
|
+
|
|
|
+[cert]
|
|
|
+HTTPChallengePort = 9180
|
|
|
+
|
|
|
+[terminal]
|
|
|
+StartCmd = cmd
|
|
|
+```
|
|
|
+
|
|
|
+## Updating
|
|
|
+
|
|
|
+### Update Nginx UI
|
|
|
+
|
|
|
+```powershell
|
|
|
+winget upgrade nginx-ui
|
|
|
+```
|
|
|
+
|
|
|
+### Update all packages
|
|
|
+
|
|
|
+```powershell
|
|
|
+winget upgrade --all
|
|
|
+```
|
|
|
+
|
|
|
+## Uninstallation
|
|
|
+
|
|
|
+### Stop and Uninstall Service
|
|
|
+
|
|
|
+```powershell
|
|
|
+# Stop the service first
|
|
|
+sc stop nginx-ui
|
|
|
+
|
|
|
+# Delete the service
|
|
|
+sc delete nginx-ui
|
|
|
+
|
|
|
+# Uninstall the package
|
|
|
+winget uninstall nginx-ui
|
|
|
+```
|
|
|
+
|
|
|
+### Remove Configuration and Data
|
|
|
+
|
|
|
+::: warning
|
|
|
+
|
|
|
+This will permanently delete all your configurations, sites, certificates, and data. Make sure to backup any important data before proceeding.
|
|
|
+
|
|
|
+:::
|
|
|
+
|
|
|
+```powershell
|
|
|
+# Remove configuration and data directories
|
|
|
+Remove-Item -Recurse -Force "$env:LOCALAPPDATA\nginx-ui"
|
|
|
+Remove-Item -Recurse -Force "$env:PROGRAMDATA\nginx-ui"
|
|
|
+```
|
|
|
+
|
|
|
+## Troubleshooting
|
|
|
+
|
|
|
+### Port Conflicts
|
|
|
+
|
|
|
+If you encounter port conflicts (default port is 9000), you need to modify the configuration file:
|
|
|
+
|
|
|
+1. **Edit the configuration file:**
|
|
|
+ ```powershell
|
|
|
+ notepad "$env:LOCALAPPDATA\nginx-ui\app.ini"
|
|
|
+ ```
|
|
|
+
|
|
|
+2. **Change the port in the `[server]` section:**
|
|
|
+ ```ini
|
|
|
+ [server]
|
|
|
+ Host = 0.0.0.0
|
|
|
+ Port = 9001
|
|
|
+ RunMode = release
|
|
|
+ ```
|
|
|
+
|
|
|
+3. **Restart the service:**
|
|
|
+ ```powershell
|
|
|
+ Restart-Service nginx-ui
|
|
|
+ ```
|
|
|
+
|
|
|
+### Windows Firewall
|
|
|
+
|
|
|
+If you have issues accessing Nginx UI from other devices, you may need to configure Windows Firewall:
|
|
|
+
|
|
|
+```powershell
|
|
|
+# Allow Nginx UI through Windows Firewall (TCP and UDP)
|
|
|
+New-NetFirewallRule -DisplayName "Nginx UI TCP" -Direction Inbound -Protocol TCP -LocalPort 9000 -Action Allow
|
|
|
+New-NetFirewallRule -DisplayName "Nginx UI UDP" -Direction Inbound -Protocol UDP -LocalPort 9000 -Action Allow
|
|
|
+```
|
|
|
+
|
|
|
+### Viewing Service Logs
|
|
|
+
|
|
|
+To troubleshoot service issues, you can view logs:
|
|
|
+
|
|
|
+#### Windows Event Viewer
|
|
|
+
|
|
|
+1. Open Event Viewer (`eventvwr.msc`)
|
|
|
+2. Navigate to Windows Logs > Application
|
|
|
+3. Look for events from "nginx-ui" source
|
|
|
+
|
|
|
+#### Service Logs
|
|
|
+
|
|
|
+If Nginx UI is configured to write logs to files:
|
|
|
+
|
|
|
+```powershell
|
|
|
+# View log files (if configured)
|
|
|
+Get-Content "$env:LOCALAPPDATA\nginx-ui\logs\nginx-ui.log" -Tail 50
|
|
|
+```
|
|
|
+
|
|
|
+### Permission Issues
|
|
|
+
|
|
|
+If you encounter permission issues:
|
|
|
+
|
|
|
+1. **Run as Administrator:** Some operations may require administrator privileges
|
|
|
+2. **Check folder permissions:** Ensure Nginx UI has read/write access to its configuration and data directories
|
|
|
+3. **Antivirus software:** Some antivirus programs may interfere with Nginx UI operation
|
|
|
+
|
|
|
+### Service Won't Start
|
|
|
+
|
|
|
+If the service fails to start:
|
|
|
+
|
|
|
+1. **Check service status:**
|
|
|
+ ```powershell
|
|
|
+ Get-Service nginx-ui
|
|
|
+ ```
|
|
|
+
|
|
|
+2. **Verify configuration file exists (create if needed):**
|
|
|
+ ```powershell
|
|
|
+ Test-Path "$env:LOCALAPPDATA\nginx-ui\app.ini"
|
|
|
+ # If it returns False, create the configuration directory and file first
|
|
|
+ ```
|
|
|
+
|
|
|
+3. **Try running manually to see error messages:**
|
|
|
+ ```powershell
|
|
|
+ nginx-ui serve -config "$env:LOCALAPPDATA\nginx-ui\app.ini"
|
|
|
+ # Or run directly from installation directory:
|
|
|
+ & "$env:LOCALAPPDATA\Microsoft\WinGet\Packages\0xJacky.nginx-ui__DefaultSource\nginx-ui.exe" serve -config "$env:LOCALAPPDATA\nginx-ui\app.ini"
|
|
|
+ ```
|
|
|
+
|
|
|
+4. **Check for port conflicts:**
|
|
|
+ ```powershell
|
|
|
+ # Check if port 9000 is already in use
|
|
|
+ netstat -an | findstr :9000
|
|
|
+ ```
|
|
|
+
|
|
|
+## Getting Help
|
|
|
+
|
|
|
+If you encounter any issues:
|
|
|
+
|
|
|
+1. Check the [official documentation](https://nginxui.com)
|
|
|
+2. Search for existing issues on [GitHub](https://github.com/0xJacky/nginx-ui/issues)
|
|
|
+3. Create a new issue if your problem isn't already reported
|
|
|
+
|
|
|
+## Next Steps
|
|
|
+
|
|
|
+After installation, you can:
|
|
|
+
|
|
|
+1. Access the web interface at `http://localhost:9000`
|
|
|
+2. Complete the initial setup wizard
|
|
|
+3. Start configuring your Nginx sites
|
|
|
+4. Explore the [configuration guides](./config-server) for advanced setups
|