nginx 安装及反向代理、负载均衡、静态文件指向、结合uwsgi上线项目、处理跨域问题

nginx安装

  971  wget http://nginx.org/download/nginx-1.16.1.tar.gz
  972  ls
  973  tar xf nginx-1.16.1.tar.gz 
  974  ls
  975  cd nginx-1.16.1
  976  ls
  977  yum install gcc zlib2-devel pcre-devel openssl-devel
  978  ls
  979  ./configure  --prefix=/opt/nginx --with-http_ssl_module --with-http_stub_status_module 
  980  make && make install 

  此时nginx被安装到/opt的目录下
 

  986 cd /opt
  987 ls
  988 cd nginx
  989 ls

  # cd 到sbin目录下 执行./nginx -t 检查配置文件是否正确

  1011 cd sbin/
  1012 ./nginx -t

  # 启动nginx  

  ./nginx

  此时在浏览器输入你的ip地址 出现这个就表明nginx安装成功

  # 重启nginx

  ./nginx -s reload

反向代理  需要在本地的hosts文件添加一条DNS域名解析, 线上服务器ip地址:nginx 配置的server_name, 这样在本地浏览器输入server_name 后面的域名就可以访问了

#user  nobody;  # 指定用户
worker_processes  1;   # 指定进程数,一般和cpu核心数相等

# 各种错误日志的输出 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;


   upstream django {
    server 127.0.0.1:9002;
    }

   server {
    listen 80;

     server_name www.lalala.com lalala.com;

 

    location / {
       root /data/nginx_data;
       index my_project.html;
       proxy_pass http://django;
      }

      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;
      }

  }

}

 

 nginx配置负载均衡

#user  nobody;
worker_processes  1;

error_log  logs/error.log;
error_log  logs/error.log  notice;
error_log  logs/error.log  info;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    gzip  on;   # 图片或者静态资源压缩后返回

    upstream django {
        server 127.0.0.1:9002 weight=2;  # 将一个项目起在 9002端口上,设置权重为2 
        server 127.0.0.1:9003 weight=1;  # 将一个项目起在 9003端口上,设置权重为1  表明,访问9002项目和访问9003项目的比例是2:1 这样也做到了轮询
    }
            server {
        listen       80;
        server_name www.lalala.com ;


        location / {
            root   /data/nginx_data;
            index  my_project.html;
            proxy_pass http://django;
            proxy_set_header Host $host; # 获取请求的ip
            proxy_set_header X-Real-IP $remote_addr; # 获取请求的地址
        }

        error_page  404              /404.html;
        errror_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
       }
}
原文地址:https://www.cnblogs.com/tangda/p/13451182.html