标准配置参数:
user root;#配置用户或者组,默认为nobody
worker_processes 4;#允许生成的进程数,默认为1
项目中nginx.conf配置文件
user root;
worker_processes 4; //最大的进程数,要看服务器的内核是多少核的,不会超过服务器的核数
默认配置为1,下面是配置为4个进程
获取nginx的PID
可以通过上面 ps -ef | grep nginx获取到master process的nginx主进程
然后通过 kill -9 杀掉nginx主进程
也可以到logs/nginx.pid下面找到主进程pid=2375
如果要杀掉所有的nginx
可以通过 killall nginx 杀掉所有的名字为nginx的进程
nginx.conf配置文件
#error_log logs/error.log; 默认注释掉
#error_log logs/error.log notice; 默认注释掉
#error_log logs/error.log info; 默认注释掉
#pid logs/nginx.pid;
events {
worker_connections 10240; //并发的工作连接数
}
http {
include mime.types; //默认的配置不管
default_type application/octet-stream; //默认的配置不管
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
通过 tail -f access.log 可以查看访问的用户的IP地址等
Nginx常用内置变量参数说明:
$remote_addr 代表客户端的IP
$remote_port:客户端端口,一般是随机端口
$remote_user:客户端用于认证的用户名,没有则显示“-”
$time_local:服务器本地时间
$request:请求的URI和HTTP协议
$status:请求状态,响应码,200,302等等
$body_bytes_sent:发送到客户端的字节数,不包括响应头
$http_referer:访问控制返回状态码
$http_user_agent:客户端代理,如果使用的浏览器访问,显示的是浏览器的类型版本等信息
$http_x_forwarded_for:获取用户的真实ip,默认为空,需要proxy_set_header X-Forwarded-For $http_x_forwarded_for来设置获取
$http_host : 请求地址,即浏览器中你输入的地址(IP或域名),端口存在则显示
$host : 浏览器请求的ip,不显示端口
$proxy_host :被代理服务的ip和端口号 ,默认80端口不显示,其它显示
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65; //服务器和浏览器超过时间没有请求会回收掉,默认75秒
#gzip on;
upstream service_name {
server localhost:8085;
server localhost:8083 ;
}
server_tokens off;
client_max_body_size 200m; //限制附件文件的大小,限制附件上传的大小,如果传的文件比这个值大,可能就会失败
gzip on; //开启压缩模式
gzip_disable 'MSIE[1-6].'; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; //需要进行压缩的文件类型
gzip_buffers 4 8k; //表示压缩缓存区4块 每块8k 默认是4块,每块16k
gzip_vary on; //是否传输gzip压缩标志,on是,off不是 F12中可以看到压缩标志
gzip_min_length 1k; //文件最小限制,小于1K就不压缩,大于才压缩
gzip_comp_level 2; //压缩的级别范围1-9,级别越高,压得越小,越浪费CPU和资源
underscores_in_headers on;
server { //nginx可以配置多个server,一个server代表一个nginx的端口配置
listen 8080; //监听8080端口,默认是http,如果是https的需要,
listen 8080 ssl; //https需要在端口后面加 ssl
server_name XX.XX.XX.XX; //监听的IP地址
charset utf-8; //编码格式 密令输入 locale 可以查看nginx的编码
location /project {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_set_header Connection "";
proxy_pass http://service_name/;
proxy_redirect default ;
}