Nginx是什么意思?Nginx 是一个高性能的 HTTP 和反向代理 web 服务器,同时也提供了 IMAP/POP3/SMTP 服务,其因丰富的功能集、稳定性、示例配置文件和低系统资源的消耗受到了开发者的欢迎。
本文,我们总结了一些常用的Nginx配置代码,包括:侦听端口、访问日志、域名、静态资产、重定向、反向代理、负载均衡和SL协议,希望对大家有所帮助。
server{
#StandardHTTPProtocol
listen80;
#StandardHTTPSProtocol
listen443ssl;
#Forhttp2
listen443sslhttp2;
#Listenon80usingIPv6
listen[::]:80;
#ListenonlyonusingIPv6
listen[::]:80ipv6only=on;
}
server{
#Relativeorfullpathtologfile
access_log/path/to/file.log;
#Turn\'on\'or\'off\'
access_logon;
}
Nginx域名
server{
#Listentoyourdomain.com
server_nameyourdomain.com;
#Listentomultipledomainsserver_nameyourdomain.comwww.yourdomain.com;
#Listentoalldomains
server_name*.yourdomain.com;
#Listentoalltop-leveldomains
server_nameyourdomain.*;
#ListentounspecifiedHostnames(ListenstoIPaddressitself)
server_name\"\";
}
Nginx静态资产
server{
listen80;
server_nameyourdomain.com;
location/{
root/path/to/website;
}
}
Nginx重定向
server{
listen80;
server_namewww.yourdomain.com;
return301http://yourdomain.com$request_uri;
}
server{
listen80;
server_namewww.yourdomain.com;
location/redirect-url{
return301http://otherdomain.com;
}
}
server{
listen80;
server_nameyourdomain.com;
location/{
proxy_passhttp://0.0.0.0:3000;
#where0.0.0.0:3000isyourapplicationserver(Ex:node.js)boundon0.0.0.0listeningonport3000
}
}
Nginx负载均衡
upstreamnode_js{
server0.0.0.0:3000;
server0.0.0.0:4000;
server123.131.121.122;
}
server{
listen80;
server_nameyourdomain.com;
location/{
proxy_passhttp://node_js;
}
}
server{
listen443ssl;
server_nameyourdomain.com;
sslon;
ssl_certificate/path/to/cert.pem;
ssl_certificate_key/path/to/privatekey.pem;
ssl_staplingon;
ssl_stapling_verifyon;
ssl_trusted_certificate/path/to/fullchain.pem;
ssl_protocolsTLSv1TLSv1.1TLSv1.2;
ssl_session_timeout1h;
ssl_session_cacheshared:SSL:50m;
add_headerStrict-Transport-Securitymax-age=15768000;
}
#PermanentRedirectforHTTPtoHTTPS
server
{
listen80;
server_nameyourdomain.com;
return301https://$host$request_uri;
}
其实可以采用可视化的方式对 Nginx 进行配置,老刘博客在 GitHub 上发现了一款可以一键生成Nginx配置的神器,相当给力。
先来看看它都支持什么功能的配置:反向代理、HTTPS、HTTP/2、IPv6, 缓存、WordPress、CDN、Node.js 支持、 Python (Django) 服务器等等。
如果你想在线进行配置,只需要打开网站:https://nginxconfig.io/,按照自己的需求进行操作就行了。
选择你的场景,填写好参数,系统就会自动生成配置文件。
开源地址:github.com/digitalocean/nginxconfig.io
网站:digitalocean.com/community/tools/nginx