mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2026-06-02 01:23:20 +08:00
312 lines
7.9 KiB
Markdown
312 lines
7.9 KiB
Markdown
# 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
|