1、
vi /home/data/docker/web/nginx/start.sh 没有就要生成:
	#!/bin/sh
	sleep 3
	#/usr/local/servers/nginx19/sbin/nginx -c /usr/local/servers/nginx19/conf/nginx.conf
	/usr/local/servers/nginx126/sbin/nginx -c /usr/local/servers/nginx126/conf/nginx.conf
	/bin/bash

chmod u+x /home/data/docker/web/nginx/*.sh

mkdir /home/data/docker/web/vhost
mkdir /home/data/docker/web/cert
mkdir /home/data/docker/web/html

2、
docker pull gg22mm/phpsys:nginx126_v2	
chmod u+x /home/data/docker/web/nginx/*.sh	
docker run -d -t --name nginx126 --network=host --restart=always -v /home/data/docker/web:/usr/local/servers/web:rw gg22mm/phpsys:nginx126_v2 /usr/local/servers/web/nginx/start.sh
docker exec -ti nginx126 /bin/bash
ps -ef | grep nginx

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime //更新时间, 填: yes
date -R # 查看当前时间	

nginx配置紧参考:

vi /usr/local/servers/nginx126/conf/nginx.conf

#运行用户
user web;

worker_cpu_affinity auto;

#worker_processes 8;
#worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;

pid /usr/local/servers/web/nginx/log/nginx.pid;	#我里从新定义了

worker_rlimit_nofile 100000; 						#更改worker进程的最大打开文件数限制。如果没设置的话,这个值为操作系统的限制。设置后你的操作系统和Nginx可以处理比'ulimit -a'更多的文件,所以把这个值设高,这样nginx就不会有'too many open files'问题了。

events {	
 worker_connections 50000;						#设置可由一个worker进程同时打开的最大连接数。如果设置了上面提到的worker_rlimit_nofile,我们可以将这个值设得很高。记住,最大客户数也由系统的可用socket连接数限制(~ 64K),所以设置不切实际的高没什么好处。
	multi_accept on;		 						#告诉nginx收到一个新连接通知后接受尽可能多的连接。
	use epoll;				 						#设置用于复用客户端线程的轮询方法。如果你使用Linux 2.6+,你应该使用epoll。如果你使用*BSD,你应该使用kqueue。
}


http {

 include mime.types;						#只是一个在当前文件中包含另一个文件内容的指令。这里我们使用它来加载稍后会用到的一系列的MIME类型
	
 default_type application/octet-stream;			# 设置文件使用的默认的MIME-type

	map_hash_max_size 10240;
	map_hash_bucket_size 320;
	
	########自定义start##########
	#限流
	#limit_req_zone $http_x_forwarded_for zone=api_limit:10m rate=25r/s; # 定义一个名为 api_limit" 的共享内存区域,大小为 10MB,限制速率为每秒 25 个请求,可以接收25个人的公司同时访问,因为一个公司用的是同一个ip	, $remote_addr二进制方式:$binary_remote_addr
	
	#解决502
	fastcgi_connect_timeout 300;	
	fastcgi_send_timeout 300;	
	fastcgi_read_timeout 300;
	
	proxy_connect_timeout 300; # 连接超时时间(秒)
	proxy_send_timeout 300; # 发送请求超时时间
	proxy_read_timeout 300; # 读取响应超时时间			
	proxy_buffer_size 256k; # 从原来的128k增加到256k
	proxy_buffers 8 512k; # 从原来的4个256k缓冲区增加到8个512k缓冲区
	
	reset_timedout_connection on;	#告诉nginx关闭不响应的客户端连接。这将会释放那个客户端所占有的内存空间
	send_timeout 1000; 				#指定客户端的响应超时时间。这个设置不会用于整个转发器,而是在两次客户端读取操作之间。如果在这段时间内,客户端没有读取任何数据,nginx就会关闭连接30
	client_max_body_size 20m; 		#注意:要是以php运行的话,这个大小client_max_body_size要和php.ini中的 post_max_size = 2M upload_max_filesize = 2M 值差不多或者稍大,这样就不会因为提交数据大小不一致出现错误。	
	error_log /var/log/nginxerror.log;	
	access_log /var/log/nginx.log; 				#设置nginx是否将存储访问日志。关闭这个选项可以让读取磁盘IO操作更快(aka,YOLO)		
	
	
	#log_format main '$remote_addr - $http_x_forwarded_for'; #测试代理ip,会被server模块中覆盖,如果配置的话。#格式:X-Forwarded-For: 客户端IP, 代理1IP, 代理2IP ,通过观察,很奇怪: 《引擎服务器ip - 客户端IP, 代理1IP》,完全不兼容,没有不用了
	#access_log /var/log/nginx.log main;	#日记保存位置,会被server模块中覆盖,如果配置的话
	
	real_ip_header X-Forwarded-For;	#真正的X-Forwarded-For头指示Nginx将原始IP地址转发到后端(端口8888),否则所有流量似乎都来自127.0.0.1

	########自定义end############
	

 sendfile on; 	#sendfile()要比组合read()和write()以及打开关闭丢弃缓冲更加有效
 #tcp_nopush on;		#告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送
 
 keepalive_timeout 30; 	#给客户端分配keep-alive链接超时时间。服务器将在这个超时时间过后关闭链接。我们将它设置低些可以让ngnix持续工作的时间更长
 keepalive_requests 10000; # 新增:单连接最大请求数

 gzip on; 			#是告诉nginx采用gzip压缩的形式发送数据。这将会减少我们发送的数据量 
	gzip_min_length 1k;
	gzip_buffers 4 16k; 	
	gzip_comp_level 3;
	gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/json; 
	gzip_vary on;
	gzip_proxied any; # 代理请求也压缩
		
	include /usr/local/servers/web/nginx/vhost/*.conf;
}


点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信小程序

微信扫一扫体验

立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部
{__SCRIPT__}