nginx基础知识

喜你入骨 提交于 2019-12-07 11:38:18

nginx

什么是nginx

  • Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。常用作反向代理服务器。

特点

  • 占用内存少
  • 并发能力强
  • 配置简单
  • 支持静态文件缓存

作用

  • 作为反向代理服务器
  • 保证内网安全,可以使用反向代理服务器提供的WAF功能,阻止web攻击
  • 负载均衡,通过反向代理服务器来优化网站的负载
  • 缓存静态资源,加快访问速度

基本命令

  • 启动
    • nginx
  • 停止
    • nginx -s quit
  • 强制停止
    • nginx -s stop
  • 重启
    • nginx -s reload

nginx配置upstream实现负载均衡

upstream 自定义项目名 {
server 第一个业务服务器的ip:prot;
server 第二个业务服务器的ip:prot;

}

nginx配置转发请求给uwsgi

server {
	listen 80;
	server_name 域名;

	location / {
		# 包含uwsgi的请求参数
		include uwsgi_params;
		# 转发请求给uwsgi
		uwsgi_pass uwsgi服务器的ip:port;
	}
}

收集静态文件的路径

  • 在项目settings.py中

    • STATIC_ROOT=静态文件目录
  • 在项目终端收集静态文件

    • python manage.py collectstatic

使用nginx配置处理静态文件

server {
	listen 80;
	server_name 域名;

	location / {
		# 包含uwsgi的请求参数
		include uwsgi_params;
		# 转发请求给uwsgi
		# uwsgi_pass uwsgi服务器的ip:port;
		uwsgi_pass 自定义项目名;
	}

	location /static {
		# 指定静态文件存放的目录
		alias 静态文件目录;
	}
}

使用nginx配置静态页面

server {
	listen 80;
	server_name 域名;

	location / {
		# 包含uwsgi的请求参数
		include uwsgi_params;
		# 转发请求给uwsgi
		uwsgi_pass uwsgi服务器的ip:port;
	}

	location /static {
		# 指定静态文件存放的目录
		alias 静态文件目录;
	}

	location = / {
		# 传递请求给静态页面服务器的nginx
		proxy_pass http://静态页面服务器的ip:port;
	}
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!