Skip to content

Instantly share code, notes, and snippets.

@vjandrei
Created January 2, 2022 16:42
Show Gist options
  • Save vjandrei/1bdf8bda1e638235f8468fc5b56cead4 to your computer and use it in GitHub Desktop.
Save vjandrei/1bdf8bda1e638235f8468fc5b56cead4 to your computer and use it in GitHub Desktop.

Domainien hallinta Nginx

  • /var/www/ | jossa julkiset tiedot http palvelulle sijaitsee
  • /etc/nginx/sites-available/ | jossa Nginx sivujen konfurikaatio dokumentaatiot sijaitsee
├── domain1.com
│   └── public_html
├── domain2.com
│   └── public_html
├── domain3.com
│   └── public_html

Tärkeät komennot

Tarkista Nginx syntaxit oikein sudo nginx -t Käynnistä Nginx serveri uudelleen sudo systemctl restart nginx

Päädomain

Aloita luomalla www kansioon päädomainin isännöitävät tiedotstot Esim. sudo mkdir -p /var/www/domain.com/public_html

Lisätään domain tiedot default Nginx tiedostoon joka löytyy /etc/nginx/sites-available/default polusta

server {
     listen 80;
     listen [::]:80;
     server_name domain-nimi.com www.domain.com;

     root /var/www/domain.com/html;

     index index.html index.htm;

     location / {
          try_files $uri $uri/ =404;
     }
}

Validoidaan koodit komennolla sudo nginx -t -c /etc/nginx/sites-available/domain-nimi.com

Käynnistetään Nginx uudelleen sudo systemctl start nginx tai sudo systemctl reload nginx jos Nginx on käynnissä.

Tarkistetaan onko Nginx käynnissä sudo systemctl status nginx

Alidomainit

Aloita luomalla www kansioon päädomainin isännöitävät tiedotstot

Esim. sudo mkdir -p /var/www/ala.domain.com/public_html

Luodaan Nginx site dokumentti /etc/nginx/sites-available tiedosto polkuun sudo touch /etc/nginx/sites-available/ala.domain.com

Tehdään dokumentti linkitys sites-enabled kansioon komennolla

sudo ln -s /etc/nginx/sites-available/ala.domain.com.conf /etc/nginx/sites-enabled/ala.domain.com.conf

Lisätään koodi jotta alidomain saadaan toimimaan

upstream nimi // muokkaa nimi{
    server 127.0.0.1:3000; // portti johon haluat ohjata
    keepalive 64;
}

server {
	server_name domain.com;
	location / {
		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
		proxy_set_header X-Real-IP $remote_addr;
		proxy_set_header Host $http_host;

		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "upgrade";
		proxy_pass      http://nimi; // muokkaa upstreami nimen mukaiseksi
		proxy_redirect off;
		proxy_read_timeout 240s;
	}
}

Validoidaan koodit komennolla sudo nginx -t -c /etc/nginx/sites-available/ala.domain-nimi.com

Käynnistetään Nginx uudelleen sudo systemctl start nginx tai sudo systemctl reload nginx jos Nginx on käynnissä.

Tarkistetaan onko Nginx käynnissä sudo systemctl status nginx

Https Certbot

Asenna Cerbot ohjeilla Lisää uusi domain komennolla sudo certbot --nginx valise uusi lisättävä aladomain ja paina enter.

Muut

Luku oikeus tiedostoihin `sudo chmod -R 777 /tiedosto-polku/

Lähteet

https://coderrocketfuel.com/article/default-nginx-configuration-file-inside-sites-available-default https://ryan.himmelwright.net/post/nginx-subdomain-reverse-proxy/ https://www.serverlab.ca/tutorials/linux/web-servers-linux/how-to-configure-multiple-domains-with-nginx-on-ubuntu/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment