nginx反向代理服务器以及负载均衡,从安装到配置

Posted 来陪朕侍寝

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx反向代理服务器以及负载均衡,从安装到配置相关的知识,希望对你有一定的参考价值。

nginx的具体作用不用细说,很强大,做负载均衡、反向代理服务器解决前端跨域问题等等。下面是nginx的安装过程

首先nginx主要的依赖:

1 pcre、 pcre-devel 
2 zlib zlib-devel 
3 openssl openssl-devel 

因此安装nginx需要安装以下依赖(本教程只介绍centos在线安装,离线安装见另一篇文章)

1.安装依赖

1 yum install gcc
2 yum install pcre-devel
3 yum install zlib zlib-devel
4 yum install openssl openssl-devel

2.下载解压nginx

2 cd /usr/local
3 mkdir nginx
4 cd nginx
5 //下载tar包
6 wget http://nginx.org/download/nginx-1.13.7.tar.gz
7 tar -xvf nginx-1.13.7.tar.gz             (解压文件)

3.安装nginx

1 //进入nginx目录
2 cd /usr/local/nginx-1.13.7
3 //执行命令
4 ./configure
5 //执行make命令
6 make
7 //执行make install命令
8 make install

4.配置nginx

cd到nginx配置文件,配置相应的信息数据,主要是配置好upstream 以及server即可,现在贴出我本机的配置

cd /usr/local/nginx/conf
vim nginx.conf

 

 5.测试nginx是否配置正确

/usr/local/nginx/sbin/nginx  -t

如果出现以下所示,则配置没有问题

 

6.nginx的启停

启动
[root@localhost ~]# /usr/local/nginx/sbin/nginx
停止/重启
[root@localhost ~]# /usr/local/nginx/sbin/nginx -s stop(quit、reload)
命令帮助
[root@localhost ~]# /usr/local/nginx/sbin/nginx -h
验证配置文件
[root@localhost ~]# /usr/local/nginx/sbin/nginx -t
配置文件
[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

 

其他介绍

1.VIM语法

默认vim打开后是不能录入的,需要按键才能操作,具体如下:
开启编辑:按“i”或者“Insert”键
退出编辑:“Esc”键
退出vim:“:q”
保存vim:“:w”
保存退出vim:“:wq”
不保存退出vim:“:q!”

 

2.nginx配置语法介绍

  1 #user  nobody;  
  2 
  3 #开启进程数 <=CPU数   
  4 worker_processes  1;  
  5 
  6 #错误日志保存位置  
  7 #error_log  logs/error.log;  
  8 #error_log  logs/error.log  notice;  
  9 #error_log  logs/error.log  info;  
 10 
 11 #进程号保存文件  
 12 #pid        logs/nginx.pid;  
 13 
 14 #每个进程最大连接数(最大连接=连接数x进程数)每个worker允许同时产生多少个链接,默认1024  
 15 events {  
 16     worker_connections  1024;  
 17 }  
 18 
 19 
 20 http {  
 21     #文件扩展名与文件类型映射表  
 22     include       mime.types;  
 23     #默认文件类型  
 24     default_type  application/octet-stream;  
 25 
 26     #日志文件输出格式 这个位置相于全局设置  
 27     #log_format  main  \'$remote_addr - $remote_user [$time_local] "$request" \'  
 28     #                  \'$status $body_bytes_sent "$http_referer" \'  
 29     #                  \'"$http_user_agent" "$http_x_forwarded_for"\';  
 30 
 31     #请求日志保存位置  
 32     #access_log  logs/access.log  main;  
 33 
 34     #打开发送文件  
 35     sendfile        on;  
 36     #tcp_nopush     on;  
 37 
 38     #keepalive_timeout  0;  
 39     #连接超时时间  
 40     keepalive_timeout  65;  
 41 
 42     #打开gzip压缩  
 43     #gzip  on;  
 44 
 45     server {  
 46         #监听端口,默认是80端口  
 47         listen       80;  
 48         #监听域名  
 49         server_name  localhost;  
 50 
 51         #charset koi8-r;  
 52 
 53         #nginx访问日志放在logs/host.access.log下,并且使用main格式(还可以自定义格式)  
 54         #access_log  logs/host.access.log  main;  
 55 
 56         #如果没有location更明确的匹配访问路径的话,访问请求都会被该location处理。  
 57         location / {  
 58             #root指定nginx的根目录为/usr/local/nginx/html  
 59             root   html;  
 60             #默认访问文件,欢迎页先去html目录下找index.html,如果找不到再去找index.htm  
 61             index  index.html index.htm;  
 62         }  
 63 
 64         #error_page  404              /404.html;  
 65         # redirect server error pages to the static page /50x.html  
 66         #  
 67 
 68         #错误页面及其返回地址,错误码为500、502、503、504都会返回50.html错误页面。  
 69         error_page   500 502 503 504  /50x.html;  
 70         #location后面是"="的话,说明是精确匹配  
 71         location = /50x.html {  
 72             root   html;  
 73         }  
 74 
 75         # proxy the php scripts to Apache listening on 127.0.0.1:80  
 76         #  
 77         #location ~ \\.php$ {  
 78         #    proxy_pass   http://127.0.0.1;  
 79         #}  
 80 
 81         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000  
 82         #  
 83         #location ~ \\.php$ {  
 84         #    root           html;  
 85         #    fastcgi_pass   127.0.0.1:9000;  
 86         #    fastcgi_index  index.php;  
 87         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;  
 88         #    include        fastcgi_params;  
 89         #}  
 90 
 91         # deny access to .htaccess files, if Apache\'s document root  
 92         # concurs with nginx\'s one  
 93         #  
 94         #location ~ /\\.ht {  
 95         #    deny  all;  
 96         #}  
 97     }  
 98 
 99 
100     # another virtual host using mix of IP-, name-, and port-based configuration  
101     #  
102     #server {  
103     #    listen       8000;  
104     #    listen       somename:8080;  
105     #    server_name  somename  alias  another.alias;  
106 
107     #    location / {  
108     #        root   html;  
109     #        index  index.html index.htm;  
110     #    }  
111     #}  
112 
113 
114     # HTTPS server  
115     #  
116     #server {  
117     #    listen       443 ssl;  
118     #    server_name  localhost;  
119 
120     #    ssl_certificate      cert.pem;  
121     #    ssl_certificate_key  cert.key;  
122 
123     #    ssl_session_cache    shared:SSL:1m;  
124     #    ssl_session_timeout  5m;  
125 
126     #    ssl_ciphers  HIGH:!aNULL:!MD5;  
127     #    ssl_prefer_server_ciphers  on;  
128 
129     #    location / {  
130     #        root   html;  
131     #        index  index.html index.htm;  
132     #    }  
133     #}  
134 
135 }  
136 
137 ---------------------
138 
139 本文来自 PengTDY 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/yougoule/article/details/78186138?utm_source=copy 

 

No mapping for the Unicode character exists in the target multi-byte code page

使用windows版本的nginx启动时遇到(1113: No mapping for the Unicode character exists in the target multi-byte code page)这个错误

后来查阅资料发现是因为解压的路径里面包含有中文的缘故,只要把解压后的文件剪切到没有包含中文的目录即可解决问题

以上是关于nginx反向代理服务器以及负载均衡,从安装到配置的主要内容,如果未能解决你的问题,请参考以下文章

nginx 反向代理以及负载均衡实验

Nginx反向代理以及负载均衡配置

Nginx反向代理负载均衡配置

Nginx反向代理以及负载均衡配置

Nginx反向代理以及负载均衡配置

Nginx认识与基本使用 Nginx 实现反向代理配置负载均衡