跟我学Nginx,server 配置块介绍
在 nginx 中,一个 server 配置块代表了一个虚拟机主机。
虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成多台 “虚拟” 的主机,每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的 Internet 服务器功能(WWW、FTP、Email 等等),同一台主机上的虚拟主机之间是完全独立的。
从网站访问者来看,每一台虚拟主机和一台独立主机完全一样。
利用虚拟主机,不用为每个要运行的网站提供一台单独的 Nginx 服务器或单独运行一组 Nginx 进程。虚拟主机提供了在同一台服务器、同一组 Nginx 进程上运行多个网站的功能。
在 Nginx 配置文件(nginx.conf)中,一个最简化的虚拟主机配置如下:
上面配置中,server 配置块配置了一个监听 8080 端口的虚拟主机。其中其他参数如下:
Nginx 通过 listen 指令指定的值监听网络请求,可以是 IP 协议的形式,也可以是 UNIX 域套接字。如果不设置 listen 指令,Nginx 在以超级用户运行时则监听 80 端口,以非超级用户运行时则监听 8000 端口。
listen 指令的指令值还针对监听方式提供了丰富的参数,如下所示:
用法示例:
server_name 指令主要用于配置基于名称的虚拟主机,server_name 指令在接到客户请求后的匹配顺序分别为:
(1)准确的 server_name 匹配,例如:
(2)以 * 通配符开始的字符串:
(3)以 * 通配符结束的字符串:
(4)匹配正则表达式:
Nginx 将按照上面1、2、3、4顺序对 server_name 进行匹配,只要有一项匹配 server_name 后就会停止继续匹配。
该指令用来指定日志文件的存放路径、格式(把定义的 log_format 跟在后面)和缓存大小;如果不想启用日志则access_log off ;
location 指令的作用是根据用户请求的 URI 来执行不同的操作,也就是根据用户请求的网站 URL 匹配 location 配置块,匹配成功就执行 location 配置块中定义的相关操作。示例用法:
关于更多 server 配置块的介绍将在后续章节娓娓道来。
对了,跟 Aapche 一样,Nginx 也可以配置多种类型的虚拟主机:
(1)基于IP的虚拟主机
(2)基于域名的虚拟主机
(3)基于端口的虚拟主机
关于怎样配置基于IP、域名和端口的虚拟主机后续章节将进行介绍。
跟我学Nginx,server 配置块介绍
上面配置中,server 配置块配置了一个监听 8080 端口的虚拟主机。其中其他参数如下:Nginx 通过 listen 指令指定的值监听网络请求,可以是 IP 协议的形式,也可以是 UNIX 域套接字。如果不设置 listen 指令,Nginx 在以超级用户运行时则监听 80 端口,以非超级用户运行时则监听 8000 端口。listen 指令...
跟我学Nginx,nginx 如何处理请求?
无论列出的顺序如何,nginx 首先搜索由文字字符串给出的最具体的前缀位置。在上面的配置中,唯一的前缀位置是“\/”,并且由于它匹配任何请求,因此将用作最后的手段。然后 nginx 按照配置文件中列出的顺序检查正则表达式给出的位置。第一个匹配的表达式停止搜索,nginx 将使用这个位置。如果没有正则表达式匹...
跟我学Nginx,配置 FastCGI 代理
与 FastCGI 服务器一起使用的最基本的 nginx 配置包括使用 fastcgi_pass 指令而不是 proxy_pass 指令,以及 fastcgi_param 指令来设置传递给 FastCGI 服务器的参数。假设 FastCGI 服务器可在 localhost:9000 上访问。 以上一节中的代理配置为基础,将 proxy_pass 指令替换为 fastcgi_pass 指令,并将参...
京东大佬细说:Nginx反向代理时保持长连接,看完直呼"学到了!"
HTTP1.1之后,HTTP协议支持持久连接,也就是长连接,优点在于在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。如果我们使用了nginx去作为反向代理或者负载均衡,从客户端过来的长连接请求就会被转换成短连接发送给服务器端。为了支持长连接,我们需要在nginx服务器上做一些配置...
来自一位程序员的我自学编程的历程
虽然 eclipse 没装好,但是在捣鼓的过程中,顺手装了个 dec-c++。就这样,在 eclipse 对我不够友好,发小又是个 c 吹的背景下,我踏上了学 c 之旅。刚开始学习都是乏味且痛苦的,特别是从看书入手,记得书上是先从大名鼎鼎的 helloword 开始,让你实现了人生第一个程序后,就陷入了无限的理论...
学web前端有前途吗
如Git、webpack、Gulp、github、Nginx等等。工具本身实际上不学也能干活,从学习的角度来说,这个时间的分配上可以少一点儿,但是从工作的角度来说,如果需要的话要尽快上手,逐步熟悉。工具类的东西都不是特别难上手,几天可能就差不多了,但是想玩的透,极大的提高效率这个还是需要投入不少时间的。
使用ekl去记录nginx的日志
要使用 ELK 记录 Nginx 日志,首先需要下载并安装 Elasticsearch。Elasticsearch 是 ELK 套件的核心,负责存储和管理日志数据。接下来,安装 Logstash,这是一个强大的日志处理工具,用于收集、过滤和转换日志数据。最后,安装 Kibana,这是一个用于搜索、分析和可视化 Elasticsearch 数据的用户界面。在实际部署...
学Linux到底学什么?
下面详细每个阶段的职位说明:01.运维应用级别:这个阶段就是玩别人的软件,例如:linux,nginx,mysql,php,nagios 大多数的linux运维工程师,网络工程师,系统工程师都是这个阶段。 这个阶段属于金字塔的底端,工资是相对比较低的。02.系统架构级别:这个阶段就是用已知软件架构大规模集群方案以及实现各种...
致敬要做linux运维工程师的朋友,必须要掌握以下几个工具才行
2、网络服务,服务有很多种,每间公司都会用到不同的,但基础的服务肯定要掌握,如DHCP,DNS, 邮件, 这几个大概学一下就行,LAMP和LNMP是必须要熟练,因为公司最关键的绝对是WEB服务器,所以nginx和apache要熟悉,特别是nginx一定要很熟悉才行,至少有些公司还会用tomcat,这个也最好学一下。其实网络...
web前端需要学什么
webpack、Gulp、github、Nginx 等等。工具本身实际上不学也能干活,从学习的角度来说,这个时间的分配上可以少一点儿,但是从工作的角度来说,如果需要的话要尽快上手,逐步熟悉。工具类的东西都不是特别难上手,几天可能就差不多了,但是想玩的透,极大的提高效率这个还是需要投入不少时间的。
百泰双迪: 步骤1从nginx官网下载相应的安装包2建议下载 下载稳定版3解压到相应的目录,比如我是e盘 然后修改目录名字为nginx 进入nginx目录双击nginx.exe 来启动nginx4此时 直接在浏览器地址栏输入:localhost便能看到 欢迎页面,说明你虚拟主机已经搭建好了5但是有时候 我们需要配置路径 在默认情况下 他的root是 nginx目录下的html文件夹 如若修改则打开conf目录下的nginx.conf6找到server 选项 修改咯location 中的root 选项.7比如我修改到D:/webroot
全椒县15942175949: 请教nginx 多个 server 怎么配置 - ?
百泰双迪: 在/etc/nginx/下建一个文件夹放站点的配置文件,如example 地址是:/etc/nginx/example 在example文件夹里建多个站点的conf文件,如:example1.conf , example2.conf 每个conf配置文件如下,可修改server_name 和 location地址设...
全椒县15942175949: nginx配置网站子域名,该怎么配置 - ?
百泰双迪: nginx的域名通过server_name来配置 多个域名使用空格分开,如: server_name a.example.com b.example.com; 配置完保存并使用nginx -s reload重新加载配置
全椒县15942175949: 在nginx的server配置时怎么加两个域名 - ?
百泰双迪: 在conf/server.xml配置2个虚拟主机 对就行,里面name=域名1 另一个host对写域名2,另外path值和appBase分别指向2个不同的发布目录.
全椒县15942175949: linux下nginx怎么配置站点 - ?
百泰双迪: Linux环境下,怎么确定Nginx是以那个config文件启动的?输入命令行: ps -ef | grep nginx 摁回车,将出现如下图片:master process 后面的就是 nginx的目录.
全椒县15942175949: 1.我 在windows xp下配置 nginx 和 php,?
百泰双迪:php-cgi.exe -b 127.0.0.1:90000 这命令错误的 端口是<=65500
全椒县15942175949: 安装nginx需要什么主机配置 - ?
百泰双迪: 从nginx官网下载相应的安装包 建议下载 下载稳定版 解压到相应的目录,比如我是e盘 然后修改目录名字为nginx 进入nginx目录 双击nginx.exe 来启动nginx 此时 直接在浏览器地址栏输入:localhost 便能看到 欢迎页面,说明你虚拟主机已经搭建好了 但是有时候 我们需要配置路径 在默认情况下 他的root是 nginx目录下的html文件夹 如若修改 则打开conf目录下的nginx.conf 找到server 选项 修改咯location 中的root 选项.8 比如我修改到D:/webroot 则修改为
全椒县15942175949: nginx配置文件中有多个server - ?
百泰双迪: nginx中,每个server块代表一个或多个站点 server块中的server_name用于区分站点 如果站点内容完全相同,只是域名不同,则可以在server_name后追加域名 如果站点之间没有关联,则追加一个server块 ,然后配置server_name以及其他站点信息
全椒县15942175949: 如何配置一个nginx负载多个网站,不同网站以域名隔离? - ?
百泰双迪: 给你写出主要配置文件,这样子配置就可以分开了 server {listen 80;server_name foo.org; root /var/webapps/foo.org; index index.php; .... } server {listen 80;server_name bar.net; root /var/webapps/bar.net; index index.php; .... }
全椒县15942175949: nginx for win 平台下如何配置虚拟目录?支持磁盘映射吗? - ?
百泰双迪: nginx在windows下的配置和linux下的配置几乎没有什么区别.如果说去别的话,就是在配置路径的时候有区别.linux下的路径配置为/home/xx/xx; 而windows下必须为:d:\xxx\xxx.例如,我再windows下搭建的nginx的虚拟主机中的配置为:...