82 lines
1.4 KiB
Markdown
82 lines
1.4 KiB
Markdown
# Ngnix
|
|
|
|
## Initial Install
|
|
|
|
Create your initial `secrets/nginx.conf` to look something like:
|
|
|
|
```conf
|
|
user nginx;
|
|
worker_processes auto;
|
|
|
|
error_log /var/log/nginx/error.log notice;
|
|
pid /var/run/nginx.pid;
|
|
|
|
events {
|
|
worker_connections 1024;
|
|
}
|
|
|
|
stream {
|
|
log_format stream_logs '$remote_addr [$time_local] $protocol $status $bytes_sent $bytes_received $session_time "$upstream_addr"';
|
|
|
|
access_log /dev/stdout stream_logs;
|
|
error_log stderr info;
|
|
|
|
server {
|
|
listen 25565;
|
|
listen [::]:25565;
|
|
proxy_pass my-minecraft-server.internal.dns:25565;
|
|
}
|
|
}
|
|
```
|
|
|
|
Create the systemd service:
|
|
|
|
```bash
|
|
# Get the initial configuration
|
|
vim /etc/containers/systemd/nginx.container
|
|
```
|
|
|
|
```conf
|
|
[Unit]
|
|
Description=Nginx
|
|
|
|
[Container]
|
|
AddCapability=NET_ADMIN
|
|
ContainerName=nginx
|
|
Image=docker.io/nginx
|
|
Network=host
|
|
SecurityLabelDisable=true
|
|
Volume=/etc/nginx:/etc/nginx
|
|
|
|
[Service]
|
|
Restart=always
|
|
|
|
[Install]
|
|
WantedBy=default.target
|
|
```
|
|
|
|
Reload the service and start it:
|
|
|
|
```bash
|
|
systemctl daemon-reload
|
|
systemctl start nginx
|
|
```
|
|
|
|
## Update the Configuration
|
|
|
|
```bash
|
|
scp active/container_nginx/secrets/nginx.conf proxy:/etc/nginx/nginx.conf
|
|
ssh proxy
|
|
systemctl restart nginx
|
|
```
|
|
|
|
## Logs
|
|
|
|
```bash
|
|
# Watch client connections
|
|
journalctl -u nginx -f | grep -e 'client .* connected'
|
|
|
|
# Watch upstream proxy connections
|
|
journalctl -u nginx -f | grep -e 'proxy .* connected'
|
|
```
|