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/

    

linux安装nginx 并配置文件服务器和代理服务器的更多相关文章

  1. linux安装Nginx 以及 keepalived 管理Nginx

    linux安装Nginx 1.1将Nginx素材内容上传到/usr/local目录(pcre,zlib,openssl,nginx)(注意:必须登录用对这个文件具有操作权限的) 1.2安装pcre库 ...

  2. linux学习(十一)linux安装nginx

    一.前言 由于本地练手的小demo用的是vue+spring boot来玩的,所以部署的时候想着用Nginx来实现反向代理[即请求转发,解决前后端分离的跨域请求问题],既然要用,那么首先得在服务器上面 ...

  3. Linux安装nginx代理服务器

    Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器. ...

  4. 【转】 linux 安装nginx及编译参数详解

    版权声明:本文为博主原创文章,未经博主允许不得转载. 从官网下载一个nginx 的tar.gz 版. 安装方式使用make 安装 第一步:解压 tar -zxvf  nginx-1.7.4.tar.g ...

  5. Linux 安装Nginx(使用Mac远程访问)

    阅读本文需要一定的Linux基础 一 Nginx简介 nginx是用c语言编写的一款高性能的http服务器|反向代理服务器|电子邮件(IMAP/POP3)代理服务器 由俄罗斯的程序设计师Igor Sy ...

  6. linux 安装 nginx 及反向代理配置

    Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,以下为Linux centos平台下安装nginx并配置反向代理的过程(采用源码安装的方式) 一:安装 ...

  7. Linux安装Nginx以及简单理解

    1.Nginx简单介绍 ①.Nginx:一个高性能的HTTP和反向代理服务器,高并发处理很不错. ②.反向代理:在计算机世界里,由于单个服务器的处理客户端(用户)请求能力有一个极限,当用户的接入请求蜂 ...

  8. linux安装nginx,遇坑解决

    1.nginx官网下载tar包,解压linux下: 2.进入解压文件夹,执行./configure: 3.报错,原因没有安装nginx相关依赖,如gcc环境,PCRE依赖库 ,zlib 依赖库 ,Op ...

  9. Linux 安装Nginx+PHP+MySQL教程

    一.安装nginx 通过yum安装openssl: yum -y install openssl openssl-devel 通过yum安装pcre: yum -y install pcre-deve ...

随机推荐

  1. 中文域名 & 原理剖析

    中文域名 & 原理剖析 https://zh.wikipedia.org/wiki/中文域名 原理 利用浏览器的对字符编码的转换算法,实现 unicode 字符显示! 国际化域名: 就是一个普 ...

  2. Serverless & FaaS

    Serverless & FaaS Function as a Service 通过 Functions(一个事件驱动型无服务器计算平台,还可以解决复杂的业务流程问题)更加高效地进行开发; 在 ...

  3. Flutter for web

    Flutter for web https://flutter.dev/web https://github.com/flutter/flutter_web Dart https://github.c ...

  4. Open API collection

    Open API collection online API https://developer.github.com/v3/ https://developer.github.com/v4 http ...

  5. 千万不要错过VAST,NGK算力的下一个财富机会!

    我们把目光投向NGK市场,近来,NGK接连新币,推出了SPC后,又有VAST.在目前市场上债券收益率已经趋近于零的情况下,世界上的大多数央行都在试图让本国货币贬值,所以在此时寻找其他保值资产是合理的. ...

  6. NGK全球启动大会圆满落幕

    加州时间2020年11月25日,NGK全球启动大会在美国硅谷圆满落幕.本次NGK全球启动大会为NGK正式在全球上线拉开了序幕. 百余位受邀嘉宾出席了本次NGK全球启动大会,其中包括NGK创始人.星盟投 ...

  7. RocketMq灰皮书(二)------本地部署启动MQ

    RocketMq灰皮书(二)------本地部署启动MQ Windows10本地部署RocketMQ 在上一篇文章中,我们对rocket的几个基本概念进行了介绍,也了解了业内几大消息中间件的区别.在本 ...

  8. Echars统计图的使用

    第一步去官网挑选自己需要的图形了. 官网地址:https://echarts.baidu.com/ 第二步按照官网的demo,下载需要的js组件并放到自己的项目中. 第三步仿照demo创建需要的div ...

  9. win10使用cmd命令关闭防火墙

    在搜索框内输入cmd,右键选择管理员运行 然后输入: NetSh Advfirewall set allprofiles state off #关闭防火墙 Netsh Advfirewall show ...

  10. Java练习——String类练习

    需求: 给定一个字符串String str=" Hello World",返回长度,返回o第一次出现的索引,返回最后一个o的索引,把所有的l都替换为m,并把字符串str按空格分割为 ...