videos
This commit is contained in:
parent
cee8780925
commit
93a3656ae8
2 changed files with 108 additions and 0 deletions
94
content/posts/nginx/index.md
Normal file
94
content/posts/nginx/index.md
Normal file
|
@ -0,0 +1,94 @@
|
||||||
|
---
|
||||||
|
title: "Nginx Configuration for websites and file server in Arch Linux"
|
||||||
|
date: 2023-11-11T01:30:00+00:00
|
||||||
|
---
|
||||||
|
|
||||||
|
1. Point A and AAAA records to VPS ipv4 and ipv6
|
||||||
|
Move public ssh key to .ssh/authorized_keys
|
||||||
|
2. pacman-S nginx certbot-nginx
|
||||||
|
Allow port 80, 443
|
||||||
|
systemctl start nginx
|
||||||
|
3. Create according files according to nginx configuration
|
||||||
|
Create cert using certbot —nginx
|
||||||
|
Generate .htpasswd using htpasswd command with sudo
|
||||||
|
Edit nginx configuration
|
||||||
|
Create two folders at /etc/nginx
|
||||||
|
sites-available and sites-enabled
|
||||||
|
|
||||||
|
```
|
||||||
|
#sites-available/tty
|
||||||
|
#ln -sf sites-available/tty sites-enabled/tty
|
||||||
|
server {
|
||||||
|
server_name ng.night0721.xyz ;
|
||||||
|
location / {
|
||||||
|
root /etc/nginx/website;
|
||||||
|
index index.html
|
||||||
|
}
|
||||||
|
|
||||||
|
# google drive
|
||||||
|
location /files {
|
||||||
|
root /etc/nginx/files
|
||||||
|
autoindex on;
|
||||||
|
auth_basic "Restricted Access";
|
||||||
|
auth_basic_user_file /etc/nginx/.htpasswd;
|
||||||
|
}
|
||||||
|
|
||||||
|
location /discord {
|
||||||
|
proxy_pass https://discord.com/;
|
||||||
|
proxy_set_header Host discord.com;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
}
|
||||||
|
|
||||||
|
listen [::]:443 ssl ipv6only=on;
|
||||||
|
listen 443 ssl;
|
||||||
|
ssl_certificate /etc/letsencrypt/live/ng.night0721.xyz/fullchain.pem;
|
||||||
|
ssl_certificate_key /etc/letsencrypt/live/ng.night0721.xyz/privkey.pem;
|
||||||
|
include /etc/letsencrypt/options-ssl-nginx.conf;
|
||||||
|
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
if ($host = ng.night0721.xyz) {
|
||||||
|
return 301 https://$host$request_uri;
|
||||||
|
}
|
||||||
|
listen 80 ;
|
||||||
|
listen [::]:80 ;
|
||||||
|
server_name ng.night0721.xyz ;
|
||||||
|
return 404;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```
|
||||||
|
# nginx.conf
|
||||||
|
user http;
|
||||||
|
worker_processes auto;
|
||||||
|
worker_cpu_affinity auto;
|
||||||
|
|
||||||
|
events {
|
||||||
|
multi_accept on;
|
||||||
|
worker_connections 1024;
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
charset utf-8;
|
||||||
|
sendfile on;
|
||||||
|
tcp_nopush on;
|
||||||
|
tcp_nodelay on;
|
||||||
|
server_tokens off;
|
||||||
|
log_not_found off;
|
||||||
|
types_hash_max_size 4096;
|
||||||
|
client_max_body_size 16M;
|
||||||
|
|
||||||
|
# MIME
|
||||||
|
include mime.types;
|
||||||
|
default_type application/octet-stream;
|
||||||
|
|
||||||
|
access_log /var/log/nginx/access.log;
|
||||||
|
error_log /var/log/nginx/error.log warn;
|
||||||
|
|
||||||
|
# load configs
|
||||||
|
include /etc/nginx/sites-enabled/*;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Useful video for setting up nginx: https://youtu.be/ugWydr_QdIY?si=vgyS-l6yWsqlSHZC
|
|
@ -67,6 +67,20 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"videos": {
|
||||||
|
"title": "Videos",
|
||||||
|
"class": "videos",
|
||||||
|
"links": [
|
||||||
|
{
|
||||||
|
"title": "ThePrimeagen: Neovim RC From Scratch",
|
||||||
|
"link": "https://www.youtube.com/watch?v=w7i4amO_zaE"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"title": "Fireship: Ultimate guide to web perfomance",
|
||||||
|
"link": "https://www.youtube.com/watch?v=0fONene3OIA"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
"posts": {
|
"posts": {
|
||||||
"title": "Posts",
|
"title": "Posts",
|
||||||
"class": "posts",
|
"class": "posts",
|
||||||
|
|
Loading…
Reference in a new issue