nginx配置进阶(nginx详细配置教程)
nginx详细配置教程
一、 nginx 简单使用说明:
1.登录官网 http
2.解压所下载文件到指定的盘符
3.启动服务器,步骤如下:
打开 dos 命令窗口,切换到 nginx 的目录下。
输入启动命令:start nginx
打开浏览器输入网址:http://localhost:80(80 端口可以省略)
二、nginx 运行原理:
Nginx 由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客户端请求映射到一个 location block(location 是 Nginx 配置中的一个指令,用于 URL 匹配),而在这个 location 中所配置的每个指令将会启动不同的模块去完成相应的工作。
nginx的配置
TCP 配置是 Nginx 中一个比较关键的属性,它可以控制 Nginx 传输协议。当配置 Nginx 时,需要注意以下几点:
1. Nginx 中的 tcp 配置有三个参数:接收缓冲区大小(rcvbuf)、发送缓冲区大小(sndbuf)和最后一次活动(linger)。
2. 接收缓冲区和发送缓冲区的大小的单位都是字节,且一般都要大于或等于4K,通常情况下,接收缓冲区要大于发送缓冲区。
3. linger 有三个属性,即: on(开启)、off(关闭)和 timeout(超时),当开启时,Nginx 在服务器关闭连接之前,会将发送缓冲区中的未完成数据发送出去,而 timeout 属性则可以设定超时时间,默认超时时间为0,即Nginx不会考虑超时时间。
4. 在配置 Nginx 时,要根据实际情况调整 tcp 参数,以获得最佳性能。
nginx 配置说明
部署静态资源的方式:
代码 「同步」 到服务器上
执行 `./manage.py collectstatic`
配置 Nginx path 到 对应的静态资源目录上。
题主可以贴下你的 Nginx 配置。另,线上不要用 Django 来 Serve 静态资源。
nginx 配置
Nginx是一个流行的Web服务器软件,需要进行配置才能正确使用。以下是简单的Nginx配置步骤:
1. 安装Nginx软件:通过互联网搜索及官网下载最新的Nginx安装包进行安装。2. 设置服务监听端口:编辑Nginx主配置文件,设置监听端口,默认是80端口。3. 配置域名解析:通过配置文件中的server段设置Nginx对应的域名、访问控制等等。4. 配置静态文件目录:配置文件中location段指定静态文件所在目录及相应URL文件目录对应关系,加快文件服务器的访问速度。5. 重启Nginx服务:配置完成后,通过命令行可执行nginx -t测试语法,然后再执行sudo nginx -s reload重启Nginx服务。需要注意的是,Nginx配置的详细操作过程因环境、场景不同而异。如遇困难可以查阅Nginx官方_。
nginx 配置教程
nginx配置如下:
1、定义worker进程数:
worker_processes 10;
2、定义worker进程可同时服务请求数目:
worker_connections 1024;
3、禁止使用sendfile函数:
sendfile off;
4、开启空闲连接的文件检查:
linger_on_close on;
5、定义多个进程间通信存放文件路径及名称:
pid /var/run/nginx.pid;
6、定义用户和组:
user nobody nogroup;
7、定义worker进程数量:
worker_processes 10;
8、定义最大请求进程时间:
client_body_timeout 10;
9、定义服务的超时时间:
send_timeout 10;
10、打开目录列表功能:
autoindex on;
nginx 基本配置
1,下载PHP
php下载版本比较多,其中,
vc9=vs2008编译,推荐使用IIS+php搭配模式,
vc6=vs6编译,推荐使用apache+php方式搭配,
Thread Safe,线程安全,执行时会进行线程(Thread)安全检查,以防止有新要求就启动新线程的CGI执行方式而耗尽系统资源。Non Thread Safe是非线程安全,在执行时不进行线程(Thread)安全检查。
Non Thread Safe,
再来看PHP的两种执行方式:ISAPI和FastCGI。
ISAPI执行方式是以DLL动态库的形式使用,可以在被用户请求后执行,在处理完一个用户请求后不会马上消失,所以需要进行线程安全检查,这样来提高程序的执行效率,所以如果是以ISAPI来执行PHP,建议选择Thread Safe版本;
而FastCGI执行方式是以单一线程来执行操作,所以不需要进行线程的安全检查,除去线程安全检查的防护反而可以提高执行效率,所以,如果是以FastCGI来执行PHP,建议选择Non Thread Safe版本。
官方并不建议你将Non Thread Safe 应用于生产环境,所以我们选择Thread Safe 版本的PHP来使用。
2,配置php
解压到某个目录,如c:/php345
将php.ini-development重命名为php.ini
fastcgi.impersonate=1 默认为0,如果使用IIS,你需要开启:cgi.fix_pathinfo=1
cgi.force_redirect=0 默认开启,如果你使用IIS,可以将其关闭
其次指定extension_dir目录和date.timezone目录
extension_dir = "C:/php53iis/ext"
date.timezone= Asia/Shanghai
修改PHP.INI配置文件中的cgi.fix_pathinfo = 1,PHP 会修正 SCRIPT_FILENAME 为真实的文件地址,否则 PHP 将无法找到需要处理的 PHP 文件。
3,配置nginx
解压nginx,如c:/nginx
设定error.log的存放目录,将#error_log logs/error.log;的#去处,默认error.log是存放在Nginx安装目录中logs目录下。
nginx配置参数详解
获取url参数
在 ngx_lua 中访问 Nginx 内置变量 ngx.var.arg_PARAMETER 即可获得GET参数PARAMETER的内容。
在 nginx配置中,通过$arg_PARAMETER 即可获得GET参数PARAMETER的内容。
获取请求头
在 ngx_lua 中访问 Nginx 内置变量 ngx.var.http_HEADER 即可获得请求头HEADER的内容。
在 nginx配置中,通过$http_HEADER 即可获得请求头HEADER的内容。
通过以下方式进行验证,比如说,通过 http://www.test.com?name=hello&id=123 来验证url的请求参数,能够在nginx中获取到,只需要修改nginx.conf 配置文件如下,就可以在access.log中看到id和name在log中
http {
include mime.types;
default_type application/octet-stream;
log_format main '{ "@timestamp": "$time_iso8601", '
'"servername": "$http_host", '
'"id": "$arg_id",'
'"name": "$arg_name",'
'"remote_addr": "$remote_addr",'
'"referer": "$http_referer",'
'"request": "$request",'
'"request_time": "$request_time",'
'"status": $status,'
'"bytes":$body_bytes_sent,'
'"agent": "$http_user_agent",'
'"x_forwarded": "$http_x_forwarded_for",'
'"upstr_addr": "$upstream_addr",'
'"upstr_host": "$upstream_http_host",'
'"ups_resp_time": "$upstream_response_time" }';
access_log logs/access.log main;
server_names_hash_bucket_size 128;
本网站文章仅供交流学习 ,不作为商用, 版权归属原作者,部分文章推送时未能及时与原作者取得联系,若来源标注错误或侵犯到您的权益烦请告知,我们将立即删除.