nginx--配置文件
nginx--lunix下安装配置
https://blog.csdn.net/adminBfl/article/details/92417440
配置文件

编辑配置文件
命令 vim nginx.config
我用的工具 xshell中的xftp6
配置文件如下
#user nobody;
worker_processes 1;#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#pid logs/nginx.pid;events {worker_connections 1024;
}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;sendfile on;#tcp_nopush on;#keepalive_timeout 0;keepalive_timeout 65;#gzip on;server {listen 80;server_name localhost;#charset koi8-r;#access_log logs/host.access.log main;location / {root html;index index.html index.htm;}#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;}}}
在http下的server下是虚拟主机的主要配置
配置文件语法 key + 空格 +value + 分号
listen 80; 监听的端口 改成90的话在浏览器访问需要加上90端口 例如 http://127.0.0.1:90
server_name localhost; 监听的域名
location / {
root html; 默认的文件夹 root相当于 nginx
index index.html index.htm; html 下的index.html
}
我们可以在nginx目录下创建一个文件夹 文件夹下创建一个文件 如下

文件内容
端口更换
hello nginx!
下面写nginx.config配置

配置监听:
在http下新增一个server: 监听端口30000 这个端口需要把防火墙端口打开,才能使用,下面的配置就是访问30000端口去找根目录下的bufanli目录夹下的index
server {listen 30000;server_name xxxxx.cn;#charset koi8-r;#access_log logs/host.access.log main;location / {root bufanli;index index.html index.htm;}#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;}}
访问页面显示

配置日志:
打开日志格式将下面日志注释打开
$remote_addr - $remote_user [$time_local] 当前客户端的ip 用户名 访问时间 如: ip -没有就是空格 - [17/Jun/2019:09:55:48 +0800]
$request" 请求 如: "GET / HTTP/1.1"
$status 状态 如: 304
$body_bytes_sent 访问的大小字节 如 0
$http_referer 访问源地址是从是从什么地方转到服务器的 显示空 ''-" 就是直接访问
$http_user_agent 来区分( 电脑 pc、手机 mobile、平板 pad )端的内容访问
如 Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.103 Safari/537.36
$http_x_forwarded_for 真实 IP

配置的server,访问30000端口产生的日志 main的格式是上一步我们打开的注释,相当于变量的使用,可以定义main的格式来输出日志的内容

将配置保存,重启nginx,可以发现在logs下自动生成了刚才我们命名的一个日志文件

日志动态查看命令
tail -n 100 -f bufanli.access.log
配置文件说明
#user nobody;#开启进程数 <=CPU数
worker_processes 1;#错误日志保存位置
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;#进程号保存文件
#pid logs/nginx.pid;#每个进程最大连接数(最大连接=连接数x进程数)每个worker允许同时产生多少个链接,默认1024
events {worker_connections 1024;
}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;#打开发送文件sendfile on;#tcp_nopush on;#keepalive_timeout 0;#连接超时时间keepalive_timeout 65;#打开gzip压缩#gzip on;#设定请求缓冲#client_header_buffer_size 1k;#large_client_header_buffers 4 4k;#设定负载均衡的服务器列表#upstream myproject {#weigth参数表示权值,权值越高被分配到的几率越大#max_fails 当有#max_fails个请求失败,就表示后端的服务器不可用,默认为1,将其设置为0可以关闭检查#fail_timeout 在以后的#fail_timeout时间内nginx不会再把请求发往已检查出标记为不可用的服务器#}#webapp#upstream myapp { # server 192.168.1.171:8080 weight=1 max_fails=2 fail_timeout=30s; # server 192.168.1.172:8080 weight=1 max_fails=2 fail_timeout=30s; #} #配置虚拟主机,基于域名、ip和端口server {#监听端口listen 80;#监听域名server_name localhost;#charset koi8-r;#nginx访问日志放在logs/host.access.log下,并且使用main格式(还可以自定义格式)#access_log logs/host.access.log main;#返回的相应文件地址location / {#设置客户端真实ip地址#proxy_set_header X-real-ip $remote_addr; #负载均衡反向代理#proxy_pass http://myapp;#返回根路径地址(相对路径:相对于/usr/local/nginx/)root html;#默认访问文件index index.html index.htm;}#配置反向代理tomcat服务器:拦截.jsp结尾的请求转向到tomcat#location ~ \.jsp$ {# proxy_pass http://192.168.1.171:8080;#} #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;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {# proxy_pass http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {# root html;# fastcgi_pass 127.0.0.1:9000;# fastcgi_index index.php;# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;# include fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {# deny all;#}}#虚拟主机配置:server {listen 1234;server_name bhz.com;location / {#正则表达式匹配uri方式:在/usr/local/nginx/bhz.com下 建立一个test123.html 然后使用正则匹配#location ~ test {## 重写语法:if return (条件 = ~ ~*)#if ($remote_addr = 192.168.1.200) {# return 401;#} #if ($http_user_agent ~* firefox) {# rewrite ^.*$ /firefox.html;# break;#} root bhz.com;index index.html;}#location /goods {# rewrite "goods-(\d{1,5})\.html" /goods-ctrl.html;# root bhz.com;# index index.html;#}#配置访问日志access_log logs/bhz.com.access.log main;}# another virtual host using mix of IP-, name-, and port-based configuration##server {# listen 8000;# listen somename:8080;# server_name somename alias another.alias;# location / {# root html;# index index.html index.htm;# }#}# HTTPS server##server {# listen 443 ssl;# server_name localhost;# ssl_certificate cert.pem;# ssl_certificate_key cert.key;# ssl_session_cache shared:SSL:1m;# ssl_session_timeout 5m;# ssl_ciphers HIGH:!aNULL:!MD5;# ssl_prefer_server_ciphers on;# location / {# root html;# index index.html index.htm;# }#}}
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
