nginx.conf 配置
user www www; #运行用户
worker_processes 2; #启动进程,一般与CPU核数相等,auto
error_log logs/error.log; #错误日志位置 和 等级
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid logs/nginx.pid; #记录进程
events {
use epoll; #工作模式 epoll是多路复用IO(I/O Multiplexing)中的一种方式
worker_connections 2048; #单个后台worker process进程的最大并发链接数
}
http {
include mime.types; #指定mime.type类型
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; #进程日志
sendfile on; #指定nginx是否调用sendfile 函数来输出文件,普通应用必须on
# tcp_nopush on;
keepalive_timeout 65; #设置连接超时
gzip on; #gzip压缩功能设置
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 6;
gzip_types text/html text/plain text/css text/javascript application/json application/javascript application/x-javascript application/xml;
gzip_vary on;
#http_proxy 设置
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 75;
proxy_send_timeout 75;
proxy_read_timeout 75;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy_temp_path /usr/local/nginx/proxy_temp 1 2;
#虚拟主机配置
server {
listen 80; #监听80端口
server_name xxx.xxx.com; #域名
root /apps/oaapp; #定义服务器的默认网站根目录位置
charset utf-8; #编码
access_log logs/host.access.log main; #访问日志
#对 / 所有做负载均衡+反向代理
location / {
root /apps/oaapp;
index index.jsp index.html index.htm; #定义首页索引文件的名称
proxy_pass http://127.0.0.1:4001; #指定下端口
proxy_redirect off;
# 后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
}
#静态文件,nginx自己处理
location ~* /download/ {
root /apps/oa/fs;
}
location ~ .*/.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
{
root /apps/oaapp;
expires 7d; #过期时间
}
location ~ ^/(WEB-INF)/ {
deny all;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
## 其它虚拟主机,server 指令开始
}
常用命令
## 查看 Nginx 程序文件目录:/usr/sbin/nginx
$ ps -ef | grep nginx
## 查看 nginx.conf 配置文件目录:/etc/nginx/nginx.conf
$ nginx -t
$ vim /etc/nginx/nginx.conf
## 配置文件目录:/etc/nginx
## 虚拟主机配置文件目录:/etc/nginx/sites-available/
## 虚拟主机文件夹目录:/var/www/,详情可在 /etc/nginx/sites-available/ 中配置
## 默认网页文件目录:/usr/share/nginx/html
## 测试配置文件,只检查配置文件是否存在语法错误
$ nginx -t -c <path-to-nginx.conf>
$ sudo nginx -t -c /etc/nginx/nginx.conf
## 启动 Nginx 服务
$ nginx 安装目录 -c <path-to-nginx.conf>
$ sudo /etc/init.d/nginx start
## 停止 Nginx 服务
$ sudo /usr/sbin/nginx -s stop
## 重启 Nginx
$ sudo /usr/sbin/nginx -s reload # 0.8 版本之后的方法
$ kill -HUP pid # 向 master 进程发送信号从容地重启 Nginx,即服务不中断
$ sudo service nginx start
$ sudo service nginx stop
$ sudo service nginx restart