Lätt för dig att ha flera projekt på samma maskin/VPS och att olika domännamn pekas vidare till till olika processer - dina projekt! :D
Som root-användare:
apt-get update
apt-get install sudo
Ge deployer-användaren sudo-rättigheter.
usermod -a -G sudo deployer
Logga ut och logga in igen som användaren deployer.
Installera nginx
sudo -S apt-get install nginx
När det är klart kan du gå till IP-adressen för din VPS/droplet. Om allting gått bra så ser du:
If you see this page, the nginx web server is successfully installed and working. Further configuration is required.
For online documentation and support please refer to nginx.org. Commercial support is available at nginx.com.
Thank you for using nginx.
Låt oss säga att du har ett elixir/phoenix-projekt som vi kallar för bunko, och att projektet ligger i mappen /var/www/bunko. Du startar servern med t.ex.
Om du vil automatisera detta:
apt-get update
apt-get install sudo
# Ge deployer sudo-rättigheter
# https://www.digitalocean.com/community/tutorials/initial-server-setup-with-debian-8#step-three-%E2%80%94-root-privileges
echo "Giving user deployer sudo rights"
usermod -a -G sudo deployer
# Ge deployer rättigheten att köra sudo apt-get install nginx utan att behöva ange lösenord, så att vi kan automatisera detta!
# https://superuser.com/questions/869144/why-does-the-system-have-etc-sudoers-d-how-should-i-edit-it
echo "deployer ALL=NOPASSWD: ALL" | (EDITOR="tee -a" visudo -f /etc/sudoers.d/deployer)
# Fortsätt som användaren deployer
sudo su deployer
# yes är ett program som säger svarar "yes" till alla frågor som kommer upp.
yes | sudo -S apt-get install nginx
Några grundläggande nginx-kommandon som är bra att känna till:
Stoppa/Stänga av webbservern: sudo systemctl stop nginx
Starta webbservern:
sudo systemctl start nginx
Starta om webbservern (Stop & start): sudo systemctl restart nginx
Ladda om webbservern (Stop & start): sudo systemctl reload nginx
Aktivera att nginx ska startas om servern startar om: sudo systemctl enable nginx
För att testa:
sudo shutdown -r now
exit
… vänta en stund, och logga sedan in igen efter en stund!
Om du snabbt vill få upp en hemsida (html, t.ex. renderat med jekyll, eller om du gillar handknacka html-filer.., eller bara vill få upp något snabbt) då kan du lägga filerna i /var/www/html Om du lägger en egen index.html där så kommer den visas när du surfar in på din VPS (D.v.s. skriv in det IP-nummer du har fått i en webbläsare!)
För att kunna visa olika sidor, beroende på vilken domän du använder för att surfa in på din VPS..
… lägg in inställningar (“server block”) i /etc/nginx/sites-available
Lägg sedan in symlänk dig i sites-enabled: /etc/nginx/sites-enabled
Exempelvis såhär:
sudo ln -s /etc/nginx/sites-available/finahemsidan /etc/nginx/sites-enabled/finahemsidan
Det är väldigt tacksamt att snabbt och enkelt kunna radera en sida ifrån sites-enabled, utan att förlora alla inställningar.
Här finns inställningar för nginx: /etc/nginx/nginx.conf
Källor:
OSX:
error logs:
Bra att kunna “tail” för att se senaste + cat error.logs | grep domännamnet.se -B 2 o.s.v. om lång stacktrace… |
Ex på conf:
server {
listen 80;
server_name domainname.php;
root /Users/homefolder/code/domainname.php/public;
access_log /usr/local/etc/nginx/logs/default.access.log main;
location / {
include /usr/local/etc/nginx/conf.d/php-fpm;
}
location = /info {
allow 127.0.0.1;
deny all;
rewrite (.*) /.info.php;
}
error_page 404 /404.html;
error_page 403 /403.html;
}