目录

一、Nginx概述

二、why Nginx?

三、Linux安装Nginx

  • APT源安装
  • 官网源码安装

四、nginx相关文件的配置

五、多站点设置

前言

无论使用何种语言开发,在发布时,域名解析肯定是必须要进行的步骤。同时服务器端需要安装一个WebServer应用软件,有的是基于Apache,有的基于Nginx。

一、Nginx概述:

  • Nginx (发音为[engine x])
  • 高性能的HTTP反向代理的web服务器,同时也提供IMAP、POP3、SMTP服务
  • Nginx代码完全用c语言写成,除了zlib、PCRE、OpenSSL功能模块之外,标准模块只使用系统c库函数,因此移植非常容易
  • 优点:
    1. 代码紧凑,功能强劲,使用简单
    2. 专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗
    3. 对并发连接的高处理能力(单台物理服务器可支持30000~50000个并发连接)

二、why Nginx?

Apache具有很优秀的性能,而且通过模块可以提供各种丰富的功能。而在连接高并发的情况下,Nginx是Apache的有力替代品

三、Linux安装Nginx

安装方法:

  1. APT源安装,简单,但版本较低,日常使用足够
  2. 官网源码安装,相对复杂,可使用最新版本

在此采用第1种方法安装:

sudo apt-get install nginx  #ubuntu
yum install nginx       #centos

安装完成,启动nginx

sudo service nginx start

版本查看

nginx -v

nginx状态查询

sudo service nginx status

查看本机ip地址

ifconfig

浏览器输入ip地址,若看到如下画面则表示web服务器启动正常

四、nginx相关文件的配置

nginx的相关文件位置

/usr/sbin/nginx     #主程序
/etc/nginx #存放配置文件
/usr/share/nginx #存放静态文件
/var/log/nginx #存放日志
  • html文件:/var/www/html/index.html

打开以下目录,目录下的‘index.nginx-debian.html’就是我们刚刚在浏览器看到的欢迎页面的网页源文件

cd /var/www/html

在/html目录下创建新的网页文件'index.html'

sudo touch index.html

根据需要,自行编辑'index.html'文件的内容

sudo vim index.html

根据需要,在/www目录下建立多个html文件夹,如下图

若需要用winscp来操作,则需修改权限,上面文件夹中,为绿色的则是全权限,修改权限的代码如下

sudo chmod -R 777 文件名
  • default文件:/etc/nginx/sites-available/default

打开以下目录,目录下这个‘default’是我们真正要关注的配置文件

cd /etc/nginx/sites-available

'default'的意思是默认,说明这是一个默认设置
以防万一,先备份default文件为副本default_bak,代码如下
sudo cp default default_bak

关注sever{}大括号内的内容:

listen 80 default_server:指出这是一个默认的服务器,且监听端口是80(IPv4访问)

listen [::]:80 default_server:指出IPv6访问默认服务器,监听端口是80

server_name_:最后的_表示所有的没有明确的ip地址或域名都指向这个默认服务器

root /var/www/html:该服务器的主目录,index.html等入口文件放在这里,如以上的index.html文件放在html文件夹下,则编辑方式如下

编辑完毕,保存退出,在宿主机浏览器输入框输入IP地址,即可显示在index.html编辑的内容

五、多站点设置

为什么要设置多站点?

当我们有了一个实体服务器(或任何服务器)之后,为了不浪费服务器的资源,我们可以在一个服务器上放置多个网站项目,这时候我们有两种处理方法:

  1. 不同的端口:如8080,8081等,缺点是输入ip或域名的时候需要跟上端口
  2. 共用80端口:通过不同的 servername(域名)来区分不同的网站项目,优点是输入ip和域名的时候无需跟上80端口

多站点配置方法非常多,下面介绍其中一种:修改单个配置文件(/etc/nginx/sites-available/default)

sudo vim default

除了通过命令行修改,也可在Windows平台通过编辑器WinScp进行远程编辑

  • 通过不同的端口连接

1、修改html文件:

打开下面的目录,新建一个新的网页源文件,也可直接复制目录下的html文件,因目录下的html是一个文件夹,因此复制的时候需加参数:-R

cd /var/www/
sudo cp -R html html2

此时文件关系树如下:

编辑 /html2/index.html文件,即修改为"mypage-2"

编辑完毕,保存退出

2、修改default文件

复制default文件中server{}中的全部内容,粘贴至第一个server{}下方,即创建新的服务

编辑listen、root、后的内容,其中端口为:8080,如上图,

编辑完毕,保存退出

浏览器输入:你的Linux ip地址:8080,如192.168.52.162:8080

  •  通过不同的域名连接

重复上面的方法中的工作,复制default文件中的server{},以及新建html文件

编辑html文件内容如下

编辑server{}内容如下

其中sever_name 后的内容为:www.web3.com web3.com,意为可通过两种域名方式访问

编辑完毕,保存退出

浏览器输入:www.web3.com

这时发现,无法正常打开页面,原因是该域名还未正式注册,无法解析为ip地址,也就无法访问

为此,我们需要人为修改Windows系统域名映射文件Hosts,路径为:C:\Windows\System32\drivers\etc\hosts

方法

右键左下角win图标,点击”命令提示符(管理员)“ 输入notepad  打开hosts文件(路径如下)

编辑hosts文件,即加入命令:

编辑完毕,刷新DNS,有两种方式刷新:

  1. 关闭浏览器,重新打开
  2. 在cmd窗口输入命令:ipconfig /flushdns,即可生效

浏览器输入:www.web3.com

此时,可以成功通过域名连接

Linux学习笔记 | 配置nginx的更多相关文章

  1. Linux学习笔记 | 配置ssh

    目录: SSH的必要性 将默认镜像源修改为清华镜像源 Linux安装ssh软件 使用putty软件实现ssh连接 Windows下安装winscp SSH的必要性 一般服务器都位于远程而非本地,或者及 ...

  2. Linux学习笔记:nginx基础

    nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP pro ...

  3. Linux学习笔记 | 配置Samba

    Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通 ...

  4. linux学习笔记-配置vbox虚拟机本地连接和外网同时可用

    我的邮箱地址:zytrenren@163.com欢迎大家交流学习纠错! 在设置网络里面启用两个网卡,一个桥接,一个网络地址转换 archlinux系统下第一个网络地址转换,第二个桥接 centos7系 ...

  5. Linux学习笔记-配置阿里云yum源

    进入目录:cd /etc/yum.repos.d 备份:mkdir repobak mv *.repo repobak/ 下载CentOS-Base.repo 到路径/etc/yum.repos.d/ ...

  6. Linux学习笔记(11)linux网络管理与配置之一——配置路由与默认网关,双网卡绑定(5-6)

    Linux学习笔记(11)linux网络管理与配置之一——配置路由与默认网关,双网卡绑定(5-6) 大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配置DNS ...

  7. Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析(1-4)

    Linux学习笔记(10)linux网络管理与配置之一——主机名与IP地址,DNS解析与本地hosts解析 大纲目录 0.常用linux基础网络命令 1.配置主机名 2.配置网卡信息与IP地址 3.配 ...

  8. Linux 学习笔记

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

  9. Linux学习笔记(一)2015.4.13

    研究生由单片机转Linux学习 首先安装VMware虚拟机,用的是VMware 10.0 在VMware 10.0上安装视频上推荐的Red Hat Linux 5 安装后正式进入Linux学习 笔记1 ...

随机推荐

  1. 如何写好PPT,什么样的PPT容易被人理解记住

    PPT一般是用于讲解性的行为而存在,那如果写好PPT呢?如果写好,这个完全要取决于你所面向的目标读者,是用于学术行为呢?还是用于商业行为.面对不同的目标群体,有不同的策略.但是无论面向群体是谁我们都有 ...

  2. 标注工具labelimg和labelme

    矩形标注工具:labelimg 多边形标准工具:labelme 前者官网发布了可执行文件,后者只有python源码,如果需要编译windows exe,可以这样: pip install labelm ...

  3. 七、Jmeter测试元件-线程

    线程组元素是任何测试计划的起点.所有控制器和采样器必须在线程组下.其他元素(例如,侦听器)可以直接放置在测试计划下. 名称:相当于一个业务流程 继续:当取样器出错时 会继续请求: 举例:1-当一个线程 ...

  4. win10平衡模式、高性能模式和卓越模式三种电池模式的区别

    win10在1803版本后,有了很多隐藏的功能.电池模式中的"卓越模式"就是其中之一. 互相比较一下: 节能模式:顾名思义是最省电的,此模式下会禁用一些系统特效,且CPU运行频率是 ...

  5. Eureka部署在阿里云所带来的问题

    没有那么多废话,直奔主题... 1.解决查看eureka界面时服务名显示而非ip+端口,以及解决显示ip而非阿里云公网ip问题(个人解决方式,如果和我这样配置还是不行,那就再百度或者谷歌下吧) eur ...

  6. eclipse中字体、XML字体设置

    [修改编辑区中文字体大小]: Window > Preferences > General > Appearance > Colors and Fonts > Java ...

  7. openstack高可用集群16-ceph介绍和部署

    Ceph Ceph是一个可靠.自动重均衡.自动恢复的分布式存储系统,根据场景划分可以将Ceph分为三大块,分别是对象存储.块设备和文件系统服务.块设备存储是Ceph的强项. Ceph的主要优点是分布式 ...

  8. Docker教程:使用Docker容器运行Nginx并实现反向代理

    一.前言 我们知道,为了安全考虑,我们一般会设置反向代理,用来屏蔽应用程序真实的IP和端口号.在Linux系统上最常用的反向代理就是Nginx.本篇文章中,我们会通过Docker容器分别运行一个Ngi ...

  9. C#未能找到路径“\bin\roslyn\csc.exe”的一部分。

    主要原因是因为两个库存在,需要生成一个 roslyn文件,但是这个项目是从 vs2017中,打开的,所以,没有必要存在它. 那么就删除这两个关联的库,就可以达到目的 S2017 打开  程序包管理控制 ...

  10. [.NET] - 初步认识AutoMapper

    初步认识AutoMapper AutoMapper 初步认识AutoMapper 前言 手动映射 使用AutoMapper 创建映射 Conventions 映射到一个已存在的实例对象   前言 通常 ...