【大白分享】托管云虚拟机Nginx需求配置详解篇一
  

山东_朱文鑫 47342人觉得有帮助

{{ttag.title}}
本帖最后由 山东_朱文鑫 于 2023-6-5 23:59 编辑

大家好,我是大白,大凡人不可恃,有所恃,必败于所恃。善泅者溺,善骑者堕,理所必然。依旧感谢各位小伙伴的一路支持与陪伴。

Nginx高性能Web和反向代理服务之整体结构篇一:https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=257167

Nginx高性能Web和反向代理服务之请求处理的11阶段篇二:https://bbs.sangfor.com.cn/forum.php?mod=viewthread&tid=257179

本篇借之前我们对Nginx的详细介绍文章两篇进行了学习,今天因为托管云项目刚好有一个虚拟机我们进行Nginx的学习使用,不过客户说挺不错的,哈哈哈,,那么今天我们就以Nginx的两篇学习进行署配置代码需求实现详解,今天学习一下Nginx如何配置实现吧,芜湖~~!




本次部署我使用的Centos系统:

一、Nginx基本部署安装:

1.1环境准备:

     模拟工具:托管云Centos虚拟机
     操作系统:CentOS-6.10-x86_64-bin-DVD1.iso、纯净安装、桌面版
     内存大小:2GB
     连接工具:SecureCRT


1.2安装依赖:

  1. [root@wuhu ~]# yum install -y gcc gcc-c++ make libtool wget pcre pcre-devel zlib zlib-devel openssl openssl-devel
复制代码

1.3、Nginx下载

  1. [root@wuhu ~]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
复制代码

1.4、Nginx解压

  1. [root@wuhu ~]# tar -zxvf nginx-1.18.0.tar.gz
复制代码

1.5、Nginx安装

  1. [root@wuhu ~]# cd nginx-1.18.0
  2. [root@wuhu nginx-1.18.0]# ./configure
  3. [root@wuhu nginx-1.18.0]# make && make install
复制代码

注意:安装完成后的路径为:/usr/local/nginx

1.6、Nginx命令

普通启动服务:/usr/local/nginx/sbin/nginx

配置文件启动:/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

    ·暴力停止服务:/usr/local/nginx/sbin/nginx -s stop

    ·优雅停止服务:/usr/local/nginx/sbin/nginx -s quit

    ·检查配置文件:/usr/local/nginx/sbin/nginx -t

    ·重新加载配置:/usr/local/nginx/sbin/nginx -s reload

    ·查看相关进程:ps -ef | grep nginx


1.7、开放防火墙

  1. [root@wuhu ~]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
  2. [root@wuhu ~]# /etc/rc.d/init.d/iptables save
  3. iptables:将防火墙规则保存到 /etc/sysconfig/iptables:[确定]
复制代码

1.8、启动后效果




之前我们也说过Nginx不仅可以做反向代理,还能用作正向代理来进行上网等功能,但是我们主要针对反向代理需求进行配置处理。


二、Nginx配置反向代理实例1:


2.1、实现需求


想要实现在浏览器地址栏输入地址:http://www.123.com,跳转到Liunx系统Tomcat主页面中。




2.2、实现思路图示:


2.3、实现步骤


步骤一:修改Windows中的hosts域名映射


复制“C:\Windows\System32\drivers\etc\hosts”到桌面,右键记事本打开,在里边加上以下代码保存,然后再复制回去,不要直接修改,会不让保存!

  1. #虚拟机域名 映射的网址
  2. 192.168.206.128 www.123.com
复制代码


步骤二:修改Nginx中的配置文件并启动

  1. [root@wuhu ~]# vi /usr/local/nginx/conf/nginx.conf
复制代码

nginx.conf配置:

  1. server {
  2. listen 80;
  3. server_name xxx.xxx.xxx.xxx; ##IP地址

  4. #charset koi8-r;

  5. #access_log logs/host.access.log main;

  6. location / {
  7. proxy_pass http:127.0.0.1:8080;
  8. root html;
  9. index index.html index.htm;
  10. }
复制代码

  1. [root@wuhu~]# /usr/local/nginx/sbin/nginx
复制代码

步骤三:下载Tomcat、解压Tomcat、安装Tomcat、启动Tomcat


注意:Tomcat启动需要JDK,在这里我没有安装,使用系统自带的OpenJDK Runtime Environment (rhel-2.6.14.10.el6-x86_64 u181-b00)

下载:

  1. [root@wuhu ~]# wget https://mirror.bit.edu.cn/apache ... mcat-7.0.105.tar.gz
复制代码

解压:

  1. [root@wuhu ~]# tar -zxvf apache-tomcat-7.0.105.tar.gz
复制代码

安装:

  1. [root@wuhu ~]# mv apache-tomcat-7.0.105 /usr/local/tomcat
复制代码

启动:

  1. [root@wuhu ~]# /usr/local/tomcat/bin/startup.sh
复制代码

添加到防火墙:

  1. [root@wuhu ~]# /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
  2. [root@wuhu ~]# /etc/rc.d/init.d/iptables save
复制代码

如果关闭请用:


  1. [root@wuhu ~]# /usr/local/tomcat/bin/shutdown.sh
复制代码

2.4、关闭服务


  1. [root@wuhu ~]# /usr/local/nginx/sbin/nginx -s quit
  2. [root@wuhu ~]# /usr/local/tomcat/bin/shutdown.sh
复制代码


三、Nginx配置反向代理实例2


3.1、实现需求

使用Nginx反向代理,根据访问的路径跳转到不同端口的服务中。


3.2、实现思路图示


3.3、实现步骤

步骤一:修改Nginx的配置文件,然后启动

  1. [root@wuhu ~]# vi /usr/local/nginx/conf/nginx.conf
复制代码

  1. server {
  2. listen 80;
  3. server_name xxx.xxx.xxx.xxx;##【IP地址】

  4. #charset koi8-r;

  5. #access_log logs/host.access.log main;

  6. location ~ /edu/ {
  7. proxy_pass http://127.0.0.1:8080;
  8. }

  9. location ~ /vod/ {
  10. proxy_pass http://127.0.0.1:8081;
  11. }
复制代码

  1. [root@wuhu ~]# /usr/local/nginx/sbin/nginx
复制代码

步骤二:拷贝两个Tomcat,将其中一个的端口信息修改为8081,开启防火墙,然后分别启动这两台Tomcat

解压:


  1. [root@wuhu ~]# tar -zxvf apache-tomcat-7.0.105.tar.gz
  2. [root@wuhu ~]# mv apache-tomcat-7.0.105 /usr/local/tomcat1

  3. [root@wuhu ~]# tar -zxvf apache-tomcat-7.0.105.tar.gz
  4. [root@wuhu ~]# mv apache-tomcat-7.0.105 /usr/local/tomcat2
复制代码

删除:

  1. [root@wuhu ~]# rm -f /usr/local/tomcat2/conf/server.xml
复制代码

添加:

  1. [root@wuhu ~]# vi /usr/local/tomcat2/conf/server.xml
复制代码

Sever.xml的文件配置: server.xml.zip (2.66 KB, 下载次数: 0)

开启Tomcat2的防火墙:

  1. [root@wuhu ~]# /sbin/iptables -I INPUT -p tcp --dport 8081 -j ACCEPT
  2. [root@wuhu ~]# /etc/rc.d/init.d/iptables save
复制代码

在每一个Tomcat的WebApps中创建一个文件夹和一个a.html文件:

  1. [root@wuhu ~]# mkdir -p /usr/local/tomcat1/webapps/edu
  2. [root@wuhu ~]# echo "<h1>This is 8080 Port</h1>" > /usr/local/tomcat1/webapps/edu/a.html

  3. [root@wuhu ~]# mkdir -p /usr/local/tomcat2/webapps/vod
  4. [root@wuhu ~]# echo "<h1>This is 8081 Port</h1>" > /usr/local/tomcat2/webapps/vod/a.html
复制代码

启动:

  1. [root@wuhu ~]# /usr/local/tomcat1/bin/startup.sh
  2. [root@wuhu ~]# /usr/local/tomcat2/bin/startup.sh
复制代码

步骤三:打开本机浏览器进行测试





3.4、关闭服务

  1. [root@wuhu ~]# /usr/local/nginx/sbin/nginx -s quit
  2. [root@wuhu ~]# /usr/local/tomcat1/bin/shutdown.sh
  3. [root@wuhu ~]# /usr/local/tomcat2/bin/shutdown.sh
复制代码

四、Nginx的负载均衡

客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互,服务器处理完毕后,再将结果返回给客户端。单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。



4.2、实现效果

浏览器地址栏输入地址:http://xxx.xxx.xxx.xxx/edu/a.html,负载均衡效果,将请求平均到8080和8081端口中。



4.3、实现思路图示


4.4、实现步骤

  1. [root@wuhu ~]# vi /usr/local/nginx/conf/nginx.conf
复制代码

  1. upstream myserver {
  2. server xxx.xxx.xxx.xxx:8080;
  3. server xxx.xxx.xxx.xxx:8081;
  4. }

  5. server {
  6. listen 80;
  7. server_name xxx.xxx.xxx.xxx;

  8. #charset koi8-r;

  9. #access_log logs/host.access.log main;

  10. location / {
  11. proxy_pass http://myserver;
  12. }
复制代码

  1. [root@wuhu ~]# /usr/local/nginx/sbin/nginx
复制代码

第二步:在Tomcat2的webapps文件夹中,创建一个edu文件夹,在里边创建a.html

创建:

  1. [root@wuhu ~]# mkdir -p /usr/local/tomcat2/webapps/edu
  2. [root@wuhu ~]# echo "<h1>This is 8081 Port</h1>" > /usr/local/tomcat2/webapps/edu/a.html
复制代码

启动:

  1. [root@wuhu ~]# /usr/local/tomcat1/bin/startup.sh
  2. [root@wuhu ~]# /usr/local/tomcat2/bin/startup.sh
复制代码

第三步:测试效果

打开IE浏览器输入:http://xxx.xxx.xxx.xxx/edu/a.html


打开IE浏览器输入:http://xxx.xxx.xxx.xxx/edu/a.html


4.5、关闭服务

  1. [root@wuhu ~]# /usr/local/nginx/sbin/nginx -s quit
  2. [root@wuhu ~]# /usr/local/tomcat1/bin/shutdown.sh
  3. [root@wuhu ~]# /usr/local/tomcat2/bin/shutdown.sh
复制代码

五、Nginx动静分离

5.1、Nginx动静分离


Nginx动静分离简单来说就是把动态跟静态请求分开,不能理解成只是单纯的把动态页面和静态页面物理分离。严格意义上说应该是动态请求跟静态请求分开,可以理解成使用Nginx处理静态页面,Tomcat处理动态页面。


     一种是纯粹把静态文件独立成单独的域名,放在独立的服务器上,也是目前主流推崇的方案。


     一种方法就是动态跟静态文件混合在一起发布,通过Nginx来分开。


5.2、实现需求


如果不设置动静分离,默认会通过Nginx的反向代理去找Tomcat对应的资源,现在我们在根目录下创建一个/data/www/文件夹,里边放上静态资源,比如一个html页面,在8080的那台Tomcat的WebApps下也创建一个www目录,同样是放一个静态资源,当输入这个静态资源的请求时,访问到的是/data/www中的数据。




5.3、实现思路图示




5.4、实现步骤

   第一步:创建静态资源文件,为了对比,Tomcat中也放一个

  1. [root@wuhu ~]# mkdir -p /data/www/
  2. [root@wuhu ~]# mkdir -p /usr/local/tomcat/webapps/ROOT/www
  3. [root@wuhu ~]# echo "<h1>/data/www/a.html</h1>" > /data/www/a.html
  4. [root@wuhu ~]# echo "<h1>/usr/local/tomcat/webapps/ROOT/www/a.html</h1>" > /usr/local/tomcat/webapps/ROOT/www/a.html
复制代码

    第二步:修改Nginx的配置文件

  1. [root@wuhu ~]# vi /usr/local/nginx/conf/nginx.conf
复制代码

  1. server {
  2. listen 80;
  3. server_name xxx.xxx.xxx.xxx;

  4. #charset koi8-r;

  5. #access_log logs/host.access.log main;

  6. location /www/ {
  7. root /data/;
  8. index index.html index.htm;
  9. }
复制代码

  1. [root@wuhu ~]# /usr/local/nginx/sbin/nginx
复制代码

   第三步:启动Tomcat

  1. [root@wuhu ~]# /usr/local/tomcat/bin/startup.sh
复制代码

第四步:启动浏览器进行测试

打开浏览器输入:http://xxx.xxx.xxx.xxx/www/a.html


5.5、关闭服务

  1. [root@wuhu ~]# /usr/local/nginx/sbin/nginx -s quit
  2. [root@wuhu ~]# /usr/local/tomcat/bin/shutdown.sh
复制代码

以上就是本次的托管云虚拟机Nginx需求配置详解篇一,因为此次搞的有点多,展开进行描述发现比较长那我们就分多篇进行完成讲解部署的详解,感谢大佬们的参阅,此贴先到这里后续会带上更加优质的帖子,感谢大家!

励志分享超清壁纸语句~~:


要做到坚韧不拔,最要紧的是坚持到底。——陀思妥耶夫斯基

好的今天就到这里,老样子,感谢各位大神的参阅,孩子为了挣豆子不容易,孩子家里穷没豆子吃饭了!!!

打赏鼓励作者,期待更多好文!

打赏
13人已打赏

浮云终日行 发表于 2023-6-8 10:04
  
逐句地看完这个帖子以后,我的心久久不能平静,震撼啊!为什么会有如此好的帖子!我纵横社区多年,自以为再也不会有任何帖子能打动我,没想到今天看到了如此精妙绝伦的这样一篇帖子。
sangfor_s 发表于 2023-6-8 10:04
  
逐句地看完这个帖子以后,我的心久久不能平静,震撼啊!为什么会有如此好的帖子!我纵横社区多年,自以为再也不会有任何帖子能打动我,没想到今天看到了如此精妙绝伦的这样一篇帖子。
sangfor_双 发表于 2023-6-8 10:04
  
逐句地看完这个帖子以后,我的心久久不能平静,震撼啊!为什么会有如此好的帖子!我纵横社区多年,自以为再也不会有任何帖子能打动我,没想到今天看到了如此精妙绝伦的这样一篇帖子。
秦冰 发表于 2023-6-8 10:04
  
逐句地看完这个帖子以后,我的心久久不能平静,震撼啊!为什么会有如此好的帖子!我纵横社区多年,自以为再也不会有任何帖子能打动我,没想到今天看到了如此精妙绝伦的这样一篇帖子。
S_李军 发表于 2023-6-8 10:04
  
逐句地看完这个帖子以后,我的心久久不能平静,震撼啊!为什么会有如此好的帖子!我纵横社区多年,自以为再也不会有任何帖子能打动我,没想到今天看到了如此精妙绝伦的这样一篇帖子。
肖振宙 发表于 2023-6-8 10:04
  
逐句地看完这个帖子以后,我的心久久不能平静,震撼啊!为什么会有如此好的帖子!我纵横社区多年,自以为再也不会有任何帖子能打动我,没想到今天看到了如此精妙绝伦的这样一篇帖子。
taojinqiu 发表于 2023-6-8 10:04
  
逐句地看完这个帖子以后,我的心久久不能平静,震撼啊!为什么会有如此好的帖子!我纵横社区多年,自以为再也不会有任何帖子能打动我,没想到今天看到了如此精妙绝伦的这样一篇帖子。
杨振双 发表于 2023-6-8 10:05
  
逐句地看完这个帖子以后,我的心久久不能平静,震撼啊!为什么会有如此好的帖子!我纵横社区多年,自以为再也不会有任何帖子能打动我,没想到今天看到了如此精妙绝伦的这样一篇帖子。
情亲见君意 发表于 2023-6-8 10:05
  
逐句地看完这个帖子以后,我的心久久不能平静,震撼啊!为什么会有如此好的帖子!我纵横社区多年,自以为再也不会有任何帖子能打动我,没想到今天看到了如此精妙绝伦的这样一篇帖子。
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
2024年技术争霸赛
干货满满
产品连连看
信服课堂视频
新版本体验
每周精选
GIF动图学习
2023技术争霸赛专题
自助服务平台操作指引
信服圈儿
秒懂零信任
技术咨询
标准化排查
技术晨报
安全攻防
功能体验
在线直播
通用技术
问题分析处理
答题自测
安装部署配置
运维工具
终端接入
社区帮助指南
天逸直播
以战代练
齐鲁TV
畅聊IT
专家问答
技术圆桌
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
流量管理
每日一记
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
玩转零信任
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
答题榜单公布
纪元平台
卧龙计划
华北区拉练
山东区技术晨报
文档捉虫活动
华北区交付直播
北京区每日一练

本版达人