Ubuntu18安装nginx
apt-get安装nginx(推荐安装)
切换至root用户
sudo su root
apt-get install nginx
查看nginx是否安装成功
nginx -v
启动nginx
service nginx start
重启
service nginx restart
停止
service nginx stop
启动后,在网页重输入ip地址,即可看到nginx的欢迎页面。至此nginx安装成功
nginx文件安装完成之后的文件位置:
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志
nginx 配置少一个‘/‘引起 “detail“:“Not Found“
如果配置为:
location /locrl {
proxy_pass http://192.168.110.168:8802/;
}
或者
location /locrl{
proxy_pass http://192.168.110.168:8802;
}
就会返回:{“detail”:“Not Found”}
如果配置为:
location /locrl/ {
proxy_pass http://192.168.110.168:8802/;
}
就可以成功访问服务。
nginx作为负载均衡多组upstream配置
一,项目用到nginx进行web服务应用以及后端服务的负载均衡。大致需求如下:
1,客户端通过统一地址访问后台服务;
2,访问后台不同的服务(IP、端口不一致);
3,后台服务支持分布式;
二,nginx方案
1,nginx支持多组server,可以配置不同IP和端口;
2,nginx支持多组upstream,可以配置不同IP和端口;
通过配置多组server,可以支持不同IP和端口,比较适用于多个web服务;
配置多组upstream,可以支持同个server,不同后台服务请求应用,可以满足上述需求。
三,nginx配置
在nginx.conf配置文件中,配置多组upstream后,在server根据需要配置指向不同的upstream即可。如下图所示。
http {
include mime.types; #设定mime类型,类型有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 /var/logs/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
upstream blank {
server 192.168.1.135:8988;
server 192.168.1.136:8988;
}
upstream blank2 {
server 192.168.1.135:7777;
server 192.168.1.136:7778;
}
server {
listen 8000; #配置监听端口
server_name localhost; #配置访问域名
#charset koi8-r;
charset utf-8;
#access_log logs/host.access.log main;
location / {
root /var/dist;
index index.html;
try_files $uri $uri/ /index.html;
}
location ^~/portal/ {
#对以portal地址进行负载均衡
proxy_pass http://blank/;
proxy_cookie_path /portal/ / ;
proxy_pass_header set-cookie;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
location /websocket/ {
proxy_pass http://blank2;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
}
}
server {
listen 8083;
server_name localhost;
#charset koi8-r;
charset utf-8;
#access_log logs/host.access.log main;
location / {
root /var/web;
index index.html;
try_files $uri $uri/ /index.html;
}
}
}