Nginx新手指引

2019-11-01  本文已影响0人  zhaoyan0879

Nginx新手指引

一.Nginx简介

nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev.

二.Nginx 下载

官网下载地址:http://nginx.org/en/download.html,请选择稳定版本:Stable version

三.Nginx安装

  1. 进入到准备好的安装目录:假定为/home/program

  2. 将nginx安装包:nginx-1.16.1.tar.gz(版本根据需求选择)复制到该目录

  3. 解压:tar nginx-1.16.1.tar.gz

  4. 进入解压后的nginx目录(nginx-1.16.1):cd nginx-1.16.1

  5. 配置检查:./configure (如果缺少依赖包,请自行百度安装

  6. 编译安装:make && make install

  7. 成功,默认文件夹/usr/local/nginx

  8. 以上为简略过程,中间出现问题请自行百度

四.Nginx使用

a) 安装目录文件夹介绍

mulu.png

主要三个目录:

conf:配置文件目录

nginx.conf --默认主配置文件

logs:日志文件目录

access.log --访问日志

error.log --错误日志

sbin:命令文件目录

nginx –启动命令

b) 基本配置介绍

yinghe.png

上图为配置与服务对应图

默认配置文件nginx.conf

全部详情参考https://www.w3cschool.cn/nginx/nginx-d1aw28wa.html

重要配置:

  1. http:http服务器配置

a) server --虚拟主机设置,相当于一个虚拟机对外提供服务

i. listen --虚拟主机服务端口,例如:8888

ii. server_name –虚拟主机服务域名/IP,例如:123.456.78.90

iii. location --URL匹配 对匹配url做负载均衡和反向代理,例如/modulea

  1. proxy_pass –实现负载调度功能,指定请求转向代理的会断服务器定义的服务器列表

b) upstream 负载均衡配置

i. server 后端服务器及端口,例如:192.168.0.1:8080

c) 基本命令介绍

执行命令,首先进入/usr/local/nginx/sbin,

然后输入对应命令:./nginx -xx

常用命令:

./nginx --启动

./nginx -t --测试配置文件是否有语法错误

./nginx -s reload --重新加载Nginx配置文件,然后以优雅的方式重启Nginx

./nginx -s quit:优雅地停止Nginx服务(即处理完所有请求后再停止服务)

d) 配置示例

可以通过新建额外test.conf文件,然后在nginx.conf中引用

nginx.conf

#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;
   # }
 # }
 include test.conf;
}

test.conf

upstream up_a {
 server 192.168.0.1:8080;
}

upstream up_b {
 server 192.168.0.1:8081;
}

upstream up_c {
 server 192.168.0.2:8080;
}

upstream up_d {
 server 192.168.0.2:8081;
}

server {
 listen 8888;
 proxy_set_header X-Forwarded-Host $host;
 proxy_set_header X-Forwarded-Server $host;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 proxy_set_header Host $host:8000; #这里是重点,这样配置才不会丢失端口
 
location /modulea {
   proxy_pass http://up_a/tom_a;
 }
 location /moduleb {
  proxy_pass http://up_b/tom_b;
 }
 location /modulec {
   proxy_pass http://up_c/tom_c;
 }
 location /moduled {
   proxy_pass http://up_d/tom_d;
 }
}
上一篇下一篇

猜你喜欢

热点阅读