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

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

作者: 疯子_d6be | 来源:发表于2021-03-30 14:18 被阅读0次

    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.安装、设计与实现

    设计思路:

    image

    第一步 安装依赖包: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/

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/roxghltx.html