linux安装nginx 并配置文件服务器和代理服务器

linux安装nginx搭建服务并实现文件服务器和代理服务器配置

1.课题的背景和意义

  由于编码过程中需要进行文件上传服务,文件上传后 需要有http资源的路径需要访问。原则上可以通过Apache 、iis 、nginx 等方式映射文件夹为网站即可实现。由于使用linux环境,nginx安装方便快捷,故采用nginx来实现;

  域名资源宝贵,申请额外的域名流程繁琐;

  需要多个文件服务器,使用同一个域名代理进行访问。

2.环境资料准备

linux服务器一台 centos

nginx 依赖包 gcc zlib zlib-devel pcre-devel openssl openssl-devel 等;

nginx 安装包 http://nginx.org/en/download.html

3.安装、设计与实现

 

设计思路:

第一步 安装依赖包:yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

第二步 解压、编译nginx源码并安装 

  tar -xvf nginx-1.19.8.tar.gz 

  cd nginx-1.19.8/

  ./configure (若依赖包未安装 此处会报错,安装响应的依赖包即可 yum -y install gcc-c++)

  make  

  make install 默认安装目录为:/usr/local/nginx/     配置文件位置:/usr/local/nginx/conf/nginx.conf

   vi /usr/local/nginx/conf/nginx.conf 修改配置文件

  cd /usr/local/nginx 

  ./nginx  运行  若修改配置文件后 需要reload nginx 命令为:./nginx -s reload

第三步:使用nginx 搭建三台服务器、 并搭建代理服务器,使用二级目录代理前面提到的三台服务器;

    1.建立文件目录三个;

      /mydata/weixin_sc/images   

      /mydata/weixin_sc/uploadfiles 

      /mydata/weixin_sc/wxweb

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

    #文件服务器1 
    server {
        listen       8991;
        server_name  localhost;
        location / {
            root   /mydata/weixin_sc/images;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        }
    #文件服务器2
    server {
        listen       8992;
        server_name  localhost;
        location / {
            root   /mydata/weixin_sc/uploadfiles;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
       }
   #文件服务器3
    server {
        listen       8993;
        server_name  localhost;
        location / {
            root   /mydata/weixin_sc/wxweb;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
     }
   #代理服务器
    server {
            listen 8994;
            #listen 443 ssl;
        server_name  localhost;
         #client_max_body_size 10M;
         #启用 SSL 功能, deprecated
         #ssl on;
         #证书文件名称
         #ssl_certificate 
         #私钥文件名称
         #ssl_certificate_key 
         #ssl_session_timeout 5m;
         #请按照以下协议配置
         #ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
         #请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
         #ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
         #ssl_prefer_server_ciphers on;

            add_header X-Frame-Options SAMEORIGIN;  #不允许iframe嵌套

             location / {
             proxy_pass http://localhost:8991;
             }
         
          #使用二级目录代理三台文件服务器,节约域名。; 注意 代理路径 /,有无/会影响代理服务,是否传递目录问题;
          
            location /images/ {
                  proxy_pass http://localhost:8991/;
            }
            location /uploadfiles/ {
                  proxy_pass http://localhost:8992/;
                        }
            location /wxweb/ {
                  proxy_pass http://localhost:8993/;
                              }

        }


}

重启ng服务: ./nginx -s reload

扩展学习:

查看nginx进程是否启动:

ps -ef | grep nginx

启动,关闭,重启,命令:

./nginx 启动

./nginx -s stop 关闭

./nginx -s reload 重启

 

参考文献:

http://nginx.org/

http://nginx.org/en/docs/

 

    

posted @ 2021-03-29 16:13  始计天策  阅读(1616)  评论(0编辑  收藏  举报