# the upstream component nginx needs to connect to
upstream django {
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server web:8000; # for a web port socket(we'll use this first)}
client_max_body_size 75M;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 256k; #以下四个参数已加大,如果设置太小也会出现timeout 504
fastcgi_buffers 16256k;
fastcgi_busy_buffers_size 512k;
fastcgi_temp_file_write_size 512k;
# configuration of the server
server {
# the port your site will be served on
listen 80;
listen [::]:80 ipv6only=on default_server;#加上这句;
# the domain name it will serve for
server_name nginx; # substitute your machine's IP address or FQDN
charset utf-8;
root /php代码/public;
# max upload size
#client_max_body_size 75M; # adjust to taste
location /static{
alias /usr/share/nginx/html/static; # 静态资源路径
}
# Finally, send all non-media requests to the Django server.
location /admin {
uwsgi_pass django;
include uwsgi_params; # the uwsgi_params file you installed
}
location /api {
uwsgi_pass django;
include uwsgi_params; # the uwsgi_params file you installed
#proxy_pass http://web:8000;}
# ------- php -----------
location /backend {
try_files $uri $uri//index.php?r=$uri&$args;}
location /vendor {
}
location ~ \.php$ {
fastcgi_pass php:9000; # tcp 方式,php-fpm 监听的 IP 地址和端口
include /etc/nginx/fastcgi.conf; #加载 nginx 的 fastcgi 模块
fastcgi_intercept_errors on;}
Dockerfile
FROM nginx:latest
# 添加配置文件
ADD./default.conf /etc/nginx/conf.d/
# 关闭守护模式
CMD["nginx","-g","daemon off;"]
[PHP];;;;;;;;;;;;;;;;;;;; About php.ini ;;;;;;;;;;;;;;;;;;;;;PHP's initialization file, generally called php.ini, is responsible for; configuring many of the aspects ofPHP's behavior.;PHP attempts to find and load this configuration from a number of locations.; The following is a summary of its search order:;1.SAPI module specific location.;2. The PHPRC environment variable.(As ofPHP5.2.0);3.A number of predefined registry keys on Windows(As ofPHP5.2.0);4. Current working directory(except CLI);5. The web server's directory(forSAPI modules), or directory ofPHP;(otherwise in Windows);6. The directory from the --with-config-file-path compile time option, or the
; Windows directory(usually C:\windows); See the PHP docs for more specific information.; http://php.net/configuration.file
; The syntax of the file is extremely simple. Whitespace and lines
; beginning with a semicolon are silently ignored(as you probably guessed).; Section headers(e.g.[Foo]) are also silently ignored, even though
; they might mean something in the future.; Directives following the section heading [PATH=/www/mysite] only
; apply to PHP files in the /www/mysite directory. Directives
; following the section heading [HOST=www.example.com] only apply to
;PHP files served from www.example.com. Directives setin these
; special sections cannot be overridden by user-defined INI files or
; at runtime. Currently,[PATH=] and [HOST=] sections only work under
;CGI/FastCGI.; http://php.net/ini.sections
; Directives are specified using the following syntax:; directive = value
; Directive names are *case sensitive*- foo=bar is different fromFOO=bar.; Directives are variables used to configure PHP or PHP extensions.; There is no name validation. If PHP can't find an expected
; directive because it is not set or is mistyped, a default value will be used.; The value can be a string, a number, a PHPconstant(e.g.E_ALL or M_PI), one
;of the INIconstants(On, Off, True, False, Yes, No and None) or an expression
;(e.g.E_ALL&~E_NOTICE), a quoted string("bar"), or a reference to a
; previously set variable or directive(e.g. ${
foo}); Expressions in the INI file are limited to bitwise operators and parentheses:;| bitwise OR;^ bitwise XOR;& bitwise AND;~ bitwise NOT;! boolean NOT; Boolean flags can be turned on using the values 1, On, True or Yes.; They can be turned off using the values 0, Off, False or No.; An empty string can be denoted by simply not writing anything after the equal
; sign, or by using the None keyword:; foo =; sets foo to an empty string
; foo = None ; sets foo to an empty string
; foo ="None"; sets foo to the string 'None'; If you use constants in your value, and these constants belong to a
; dynamically loaded extension(either a PHP extension or a Zend extension),; you may only use these constants *after* the line that loads the extension.;;;;;;;;;;;;;;;;;;;; About this file ;;;;;;;;;;;;;;;;;;;;;PHP comes packaged with two INI files. One that is recommended to be used
;in production environments and one that is recommended to be used in; development environments.; php.ini-production contains settings which hold security, performance and
; best practices at its core. But please be aware, these settings may break; compatibility with older or less security conscience applications. We
; recommending using the production ini in production and testing environments.; php.ini-development is very similar to its production variant, except it is
; much more verbose when it comes to errors. We recommend using the
; development version only in development environments,as errors shown to
; application users can inadvertently leak otherwise secure information.; This is the php.ini-production INI file.;;;;;;;;;;;;;;;;;;;; Quick Reference ;;;;;;;;;;;;;;;;;;;;; The following are all the settings which are different in either the production
; or development versions of the INIs with respect to PHP's default behavior.; Please see the actual settings later in the document for more details as to why
; we recommend these changes inPHP's behavior.; display_errors
; Default Value: On
; Development Value: On
; Production Value: Off
; display_startup_errors
; Default Value: Off
; Development Value: On
; Production Value: Off
; error_reporting
; Default Value:E_ALL&~E_NOTICE&~E_STRICT&~E_DEPRECATED; Development Value:E_ALL; Production Value:E_ALL&~E_DEPRECATED&~E_STRICT; log_errors
; Default Value: Off
; Development Value: On
; Production Value: On
; max_input_time
; Default Value:-1(Unlimited); Development Value:60(60 seconds); Production Value:60(60 seconds); output_buffering
; Default Value: Off
; Development Value:4096; Production Value:4096; register_argc_argv
; Default Value: On
; Development Value: Off
; Production Value: Off
; request_order
; Default Value: None
; Development Value:"GP"; Production Value:"GP"; session.gc_divisor
; Default Value:100; Development Value:1000; Production Value:1000; session.sid_bits_per_character
; Default Value:4; Development Value:5; Production Value:5; short_open_tag
; Default Value: On
; Development Value: Off
; Production Value: Off
; variables_order
; Default Value:"EGPCS"; Development Value:"GPCS"; Production Value:"GPCS";;;;;;;;;;;;;;;;;;;;; php.ini Options ;;;;;;;;;;;;;;;;;;;;;; Name for user-defined php.ini(.htaccess) files. Default is ".user.ini";user_ini.filename =".user.ini"; To disable this feature setthis option to an empty value
;user_ini.filename =;TTLfor user-defined php.ini files(time-to-live)in seconds. Default is 300seconds(5 minutes);user_ini.cache_ttl =300;;;;;;;;;;;;;;;;;;;;; Language Options ;;;;;;;;;;;;;;;;;;;;;; Enable the PHP scripting language engine under Apache.; http://php.net/engine
engine = On
; This directive determines whether or not PHP will recognize code between
;<? and ?> tags asPHP source which should be processed as such. It is
; generally recommended that <?php and ?> should be used and that this feature
; should be disabled,as enabling it may result in issues when generating XML; documents, however this remains supported for backward compatibility reasons.; Note that this directive does not control the <?= shorthand tag, which can be
; used regardless ofthis directive.; Default Value: On
; Development Value: Off
; Production Value: Off
; http://php.net/short-open-tag
short_open_tag = Off
; The number of significant digits displayed in floating point numbers.; http://php.net/precision
precision =14; Output buffering is a mechanism for controlling how much output data
;(excluding headers and cookies)PHP should keep internally before pushing that
; data to the client. If your application's output exceeds this setting,PHP; will send that data in chunks of roughly the size you specify.; Turning on this setting and managing its maximum buffer size can yield some
; interesting side-effects depending on your application and web server.; You may be able to send headers and cookies after you've already sent output
; through print or echo. You also may see performance benefits if your server is
; emitting less packets due to buffered output versus PHP streaming the output
;as it gets it. On production servers,4096 bytes is a good setting for performance
; reasons.; Note: Output buffering can also be controlled via Output Buffering Control
; functions.; Possible Values:; On = Enabled and buffer is unlimited.(Use with caution); Off = Disabled
; Integer = Enables the buffer and sets its maximum size in bytes.; Note: This directive is hardcoded to Off for the CLISAPI; Default Value: Off
; Development Value:4096; Production Value:4096; http://php.net/output-buffering
output_buffering =4096; You can redirect all of the output of your scripts to a function. For
; example,if you set output_handler to "mb_output_handler", character
; encoding will be transparently converted to the specified encoding.; Setting any output handler automatically turns on output buffering.; Note: People who wrote portable scripts should not depend on this ini
; directive. Instead, explicitly set the output handler using ob_start().; Using this ini directive may cause problems unless you know what script
; is doing.; Note: You cannot use both "mb_output_handler"with"ob_iconv_handler"; and you cannot use both "ob_gzhandler" and "zlib.output_compression".; Note: output_handler must be empty ifthis is set 'On'!!!!; Instead you must use zlib.output_handler.; http://php.net/output-handler
;output_handler =;URL rewriter function rewrites URL on the fly by using
; output buffer. You can set target tags by this configuration.;"form" tag is special tag. It will add hidden input tag to pass values.; Refer to session.trans_sid_tags for usage.; Default Value:"form="; Development Value:"form="; Production Value:"form=";url_rewriter.tags
;URL rewriter will not rewrite absolute URL nor form by default. To enable
; absolute URL rewrite, allowed hosts must be defined at RUNTIME.; Refer to session.trans_sid_hosts for more details.; Default Value:""; Development Value:""; Production Value:"";url_rewriter.hosts
; Transparent output compression using the zlib library
; Valid values forthis option are 'off','on', or a specific buffer size
; to be used forcompression(default is 4KB); Note: Resulting chunk size may vary due to nature of compression.PHP; outputs chunks that are few hundreds bytes each as a result of; compression. If you prefer a larger chunk size for better
; performance, enable output_buffering in addition.; Note: You need to use zlib.output_handler instead of the standard
; output_handler, or otherwise the output will be corrupted.; http://php.net/zlib.output-compression
zlib.output_compression = Off
; http://php.net/zlib.output-compression-level
;zlib.output_compression_level =-1; You cannot specify additional output handlers if zlib.output_compression
; is activated here. This setting does the same as output_handler but in; a different order.; http://php.net/zlib.output-handler
;zlib.output_handler =; Implicit flush tells PHP to tell the output layer to flush itself
; automatically after every output block. This is equivalent to calling the
;PHPfunctionflush() after each and every call to print() or echo() and each
; and every HTML block. Turning this option on has serious performance
; implications and is generally recommended for debugging purposes only.; http://php.net/implicit-flush
; Note: This directive is hardcoded to On for the CLISAPI
implicit_flush = Off
; The unserialize callback function will be called(with the undefinedclass'
; name as parameter),if the unserializer finds an undefinedclass; which should be instantiated.A warning appears if the specified function is
; not defined, or if the function doesn't include/implement the missing class.; So only setthis entry,if you really want to implement such a
; callback-function.
unserialize_callback_func =; The unserialize_max_depth specifies the default depth limit for unserialized
; structures. Setting the depth limit too high may result in stack overflows
; during unserialization. The unserialize_max_depth ini setting can be
; overridden by the max_depth option on individual unserialize() calls.;A value of0 disables the depth limit.;unserialize_max_depth =4096; When floats & doubles are serialized