前言

在前一节的内容里面,我们学习了如何使用yum 包管理工具来安装我们需要的软件,这节内容,通过搭建Nginx 反向代理服务器,以及学习服务的配置等内容。

NGINX

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

后端用的最多的地方就是:反向代理,那何谓反向代理,何谓正向代理呢?

反向代理

反向代理代理的是服务器

就好比当前这幅图的情况下,用户的浏览器访问域名为http://abc.com 其实这个域名下存在两个子域名的服务,blog.abc.com可以用来做博客服务,而file.abc.com 可以用来做测试文件服务,用于保存上传的文件,这里我们单单用了一个Nginx 即可实现一个域名下多个二级域名的访问形式。

正向代理

正向代理代理的是用户端

简单的了解一下正向代理,其实在对外的过程中,我们需要用一个正向代理的服务器来隐藏访问者本身,这就代理了用户的客户端,对于最终的服务器而言,它只知道一个总的服务器来访问它,不知道这个服务器下面的客户端,和我们搭梯子挂VP* 其实是一个道理。

安装Nginx 服务器

在当前源下面,Nginx 的安装包只有一个,这不满足我们的需求,我们需要去官网找寻对应的RPM 包,手动加入其依赖项。

NGinx package



找到其对应的Centos 版本,我们选择Centos 后选择7版本,因为我们安装的就是Centos7,而后就会遇到选择如下的内容,就会比较懵逼,这咋选?

RPM 内容介绍

上面学习的内容涉及到RPM包管理的内容。这里做一个简单的了解和学习。比如Windows 大家都知道Windows的安装包都是EXE 结尾的可执行文件。那linux 也有自己的安装包软件。这里首先从Linux的包管理类型入手:

源码包

源码包,字面意思就是开发人员写完的代码包,不能直接运行,因为电脑是不认识编程语言的,需要将编程语言编译成电脑认识的二进制才可以运行。所以源码包需要编译后才可进行安装使用。新手不建议使用这个。

二进制包

二进制包就是源码包进行编译后的内容。可以拿过来直接使用。我们需要的就是这个包,二进制包大多使用tar.gz 格式进行解压后可以直接使用。

RPM包统一命名格式

当我们查看一款RPM 包的时候,免不了感觉一大堆的东西,很不易了解。我就拿一个例子来说明:

在阿里云等仓库搜索这个包的时候,在名称上出现很多的字符

  • 这里的包名称:pcp-pmda-nginx
  • 3.10.9 软件包版本号
  • el6 发行版本号,就意思是编译(发布)了6个版本
  • i686 以上平台架构



这里引用参考:http://c.biancheng.net/view/2868.html

至于自己的电脑版本如何查看,请用

uname -a

学习到了以上知识,我知道其实我们已经可以选择自己需要的包了。

RPM包安装升级

一般我们通过下载后得到RPM的安装包,就可以进行安装了。一般在Linux 里面不需要指定软件的安装路径,其都是统一规划好的,我们只需要知道我们的配置文件在哪儿以及软件的执行目录,搭配whereis xxx 命令进行查询,就可以了。

  • /usr/bin 命令目录
  • /usr/lib/ 相关库的位置
  • /etc/ 配置文件放置
  • /usr/share/man/ 帮助文件位置

RPM包安装

对于RPM包的安装,一定要是包全名,就是必须是有名称、版本号、发行版、等等

rpm -ivh nginx16-nginx-1.6.2-3.el6.x86_64.rpm
  • 选项i (install)安装
  • v 详细显示信息
  • h 打印内容

RPM包升级(常用)

rpm -Uvh nginx16-nginx-1.6.2-3.el6.x86_64.rpm
  • U U选项表示没有安装过这个包则直接安装,安装过则直接升级至最新版本。

开始安装RPM包

首选从官网复制链接后下载,或者下载后上传到服务器,都是一样的,按照个人习惯。

curl -O http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.10.0-1.el7.ngx.x86_64.rpm
rpm -Uvh nginx-1.10.0-1.el7.ngx.x86_64.rpm

# 启动nginx
systemctl start nginx.service # 开机启动
systemctl enable nginx.service # 查看端口运行情况
netstat -nltp

若这里没有netstat命令,请搜索安装 yum install net-tools.x86_64

外部访问尝试

这时候我们的Linux 是部署在虚拟机上的,通过桥接的方式访问。关闭防火墙,不然访问不到。

# 关闭防火墙服务
systemctl stop firewalld.service # 永久停止防火墙
systemctl disable firewalld.service

配置Nginx

配置NGinx 可真的是一门功课。此时我们的服务器已经可以正常启动了。我们需要配置才可以玩起来。首先就学习配置一个二级域名来使用。这里我们用的是本机虚拟机进行访问的,我们修改host文件的方式让我们的虚拟机拥有一个域名。假设这个域名就是http://abc.com

192.168.0.120 abc.com

新建配置文件

nginx 的配置文件我们可以通过service 查看到其位置。因为这个是默认的配置文件,我们一般不做修改,而是再/conf.d/下新建一个.conf后缀的文件在进行修改并配置我们的逻辑。

# 复制一个默认的配置文件进行修改
cp /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/mynginx.conf # 修改配置文件
vi /etc/nginx/conf.d/mynginx.conf
server {
listen 80;
server_name blog.abc.com; location / {
proxy_pass http://127.0.0.1:8080;
}
### 省略其他
}

server_name 修改为我们的二级域名xxx.abc.com;

proxy_pass 的地址就是我们要反向代理的地址。

测试效果

这里因为转发了一个8090的端口,我们可以将上一个节内容的tomcat 进行修改端口后启动起来充当这个服务器。

# 检查配置文件
nginx -t # 重载配置信息
nginx -s reload

启动tomcat

# 进入tomcat 目录
cd /root/apache-tomcat-8.5.50/bin/ # 启动tomcat
./startup.sh

小结

学到这里呢,我们已经学会了在nginx上如何使用tomct 的启动,以及学会使用RPM 安装包进行软件的安装,以及学会简单的二级域名的配置。还是学到了很多实用的东西,非常nice

下节预告

下一节将学习service命令以及systemctl与之的配合如何实现服务的启动。以及服务配置开机启动等。

参考

Linux 学习笔记 6 搭建nginx 实现二级域名访问的更多相关文章

  1. 好记性不如烂笔头--linux学习笔记8关于nginx的动静分离

    动静分离逻辑梳理 就是给nginx配置访问规则,不同后缀的文件访问不同的目录 worker_processes 1; events { worker_connections 1024; } http ...

  2. Linux学习笔记-Centos7搭建owncloud私有云盘

    使用环境:虚拟机centos7 1.下载安装LAMP相关软件 [root@localhost yum.repos.d]# yum install httpd –y [root@localhost yu ...

  3. Linux学习笔记:touch新建文件、修改访问、改动时间

    touch用于创建新的空文件或者修改已有文件的时间戳. 语法:touch file.txt 如果file存在,使用touch指令可更改这个文件或目录的日期时间,包括存取时间和更改时间. 如果file不 ...

  4. 在linux 服务器上用.htaccess文件实现二级域名访问子目录

    实现子域名绑定网站子目录的方法有很多,比如可以用js跳转,可以用php实现,可以301跳转等,但最常用的应该是RewriteEngine方式了.   新建一个笔记本命名为.htaccess(在wind ...

  5. Linux学习笔记-Linux系统简介

    Linux学习笔记-Linux系统简介 UNIX与Linux发展史 UNIX是父亲,Linux是儿子. UNIX发行版本 操作系统 公司 硬件平台 AIX IBM PowerPC HP-UX HP P ...

  6. Linux 学习笔记

    Linux学习笔记 请切换web视图查看,表格比较大,方法:视图>>web板式视图 博客园不能粘贴图片吗 http://wenku.baidu.com/view/bda1c3067fd53 ...

  7. Linux~学习笔记目录索引

    回到占占推荐博客索引 本篇文章是对自己学习Linux及在它的环境下部署工具的一个总结,以方便自己查阅,也给他人一个帮助,本文章同时会不断的更新,欢迎大家订阅! 本目录包括的内容会包括linux基础命令 ...

  8. [Linux.NET]Nginx 泛解析配置请求映射到多端口实现二级域名访问

    由于想实现一个域名放置多个应用运行的目的,而不想通过域名后加端口号方式处理,这种方式处理记起来太麻烦,偷懒党简直不能忍,故而考虑了使用二级域名来处理多个应用同时运行.Google了一番资料并进行了尝试 ...

  9. Hadoop学习笔记(4) ——搭建开发环境及编写Hello World

    Hadoop学习笔记(4) ——搭建开发环境及编写Hello World 整个Hadoop是基于Java开发的,所以要开发Hadoop相应的程序就得用JAVA.在linux下开发JAVA还数eclip ...

随机推荐

  1. H3C 局域网与OSI参考模型

  2. SuperSocket通过本地证书仓库的证书来启用 TLS/SSL

    你也可以通过本地证书仓库的证书,而不是使用一个物理文件. 你只需要在配置中设置你要使用的证书的storeName和thumbprint: <server name="EchoServe ...

  3. 洛谷P3957 跳房子 题解 二分答案/DP/RMQ

    题目链接:https://www.luogu.org/problem/P3957 这道题目我用到了如下算法: 线段树求区间最大值: 二分答案: DP求每一次枚举答案g时是否能够找到 \(\ge k\) ...

  4. Linux中ifcfg-eth0配置参数说明

    ifcfg-eth0在/etc/sysconfig/network-scripts下, 其配置如下: DEVICE=物理设备名IPADDR=IP地址NETMASK=掩码值NETWORK=网络地址BRO ...

  5. gSOAP 使用

    1. wsdl2h 生成服务定义头文件 wsdl2h -o calc.h http://www.genivia.com/calc.wsdl 2. 从服务定义头文件calc.h生成客户端代码 soapc ...

  6. 第二章FISCO BCOS sdk下载和配置是使用

    想了解相关区块链开发,技术提问,请加QQ群:538327407 前提: 1.已经搭建好了一个底层,并且可以正常运行 2.确定外部是否可以连接,如果是云上的服务器,要保证外网可以访问 正式流程 1.下载 ...

  7. 【9307】&【a303】过河卒(NOIP2002)

    Time Limit: 10 second Memory Limit: 2 MB 问题描述 如图,A点有一个过河卒,需要走到目标B点.卒行走的规则:可以向下.或者向右. 同时在棋盘上的任一点有一个对方 ...

  8. P1063 高兴的津津

    题目描述 津津上高中了.她在自己的妈妈的魔鬼训练下,成为了一个神犇,每次参加一次OI比赛必拿Au虐全场.每次她拿到一个Au后就很高兴.假设津津不会因为其它事高兴,并且她的高兴会持续T天(包包含获奖当天 ...

  9. 几种常见排序算法的基本介绍,性能分析,和c语言实现

    本文介绍6种常见的排序算法,以及他们的原理,性能分析和c语言实现: 为了能够条理清楚,本文所有的算法和解释全部按照升序排序进行 首先准备一个元素无序的数组arr[],数组的长度为length,一个交换 ...

  10. tet-2

      一.html和css部分 1.如何理解CSS的盒子模型? 标准盒子模型:宽度=内容的宽度(content)+ border + padding 低版本IE盒子模型:宽度=内容宽度(content+ ...