tjcchen / nginx

nginx web server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nginx

nginx web server

To Start With

# install
brew install nginx

# access local nginx directory
cd /usr/local/etc/nginx/

# basic startup on port 8080( http://localhost:8080/ )
nginx

# various nginx terminologies( context and directives ) defined in:
vi /usr/local/etc/nginx/nginx.conf

# edit /usr/local/etc/nginx/nginx.conf and reload nginx( specify server root directive )
nginx -s reload

# include a mime.types file fix all the content-type issues
include mime.types;

# load balancer( Round-robin scheduling )
# forward user requests to different servers

# nginx config
http {
  # ...

  # available servers
  upstream backendserver {
    server 127.0.0.1:1111;
    server 127.0.0.1:2222;
    server 127.0.0.1:3333;
    server 127.0.0.1:4444;
  }

  server {
    listen 8080;
    root /Users/chen/go/src/github.com/tjcchen/nginx;

    # load balancer config
    location / {
      proxy_pass http://backendserver/;
    }
  }
}

How To Configure Your TLS/SSl

# step1: create a ssl cert directory
sudo mkdir -p /usr/local/etc/nginx/ssl

# check openssl existence
openssl version

# step2: generate certs
# we generate a certificate( nginx.crt ) and private key( nginx.key ) under /usr/local/etc/nginx/ssl/ directory
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /usr/local/etc/nginx/ssl/nginx.key -out /usr/local/etc/nginx/ssl/nginx.crt

# step3: set your nginx config
server {
  listen 80 default_server;
  listen [::]:80 default_server;

  # SSL config
  listen 443 ssl default_server;
  listen [::]:443 ssl default_server;

  # SSL cert & key config
  ssl_certificate /usr/local/etc/nginx/ssl/nginx.crt;
  ssl_certificate_key /usr/local/etc/nginx/ssl/nginx.key;

  # ...
}

# step4: restart your server
sudo service nginx restart
nginx -s reload

License

This project is licensed under the terms of the MIT license.

About

nginx web server

License:MIT License


Languages

Language:HTML 62.2%Language:Dockerfile 22.8%Language:JavaScript 11.9%Language:CSS 3.0%