nginx学习笔记1 使用nginx搭建简单的HTTP服务器
nginx作为轻量级的http服务器,能够很好地应付高并发的http请求。同时,它也能被配置为http代理服务器。作为后台开发的菜鸟,这样一份优秀的开源服务器摆在眼前,总要研究一番,学点东西才靠谱啊!
当然,学习nginx的第一步就是学会如何使用它了。
1 安装nginx
首先,从官网下载源码http://nginx.org/download/nginx-1.8.0.tar.gz,解压后进入nginx-1.8.0目录。
nginx依赖pcre库,所以还需要下载pcre源码 。
将pcre源码解压在nginx-1.8.0/3rdparty/pcre-8.32,然后在根目录下执行
<code>./configure --with-http_ssl_module --with-pcre=./3rdparty/pcre-8.32/ ./make ./sudo make install </code>
即可完成安装,默认安装目录在/usr/local/nginx。
安装过程中可能会提示缺少openssl库,可以直接apt-get install。
2 配置nginx
在使用nginx之前,先在/home/bookxiao/下创建一个nginx目录用于存放资源文件,再创建到/usr/local/nginx下conf, sbin以及logs的软连接,避免频繁的切换目录。
<code>bookxiao<span>@ubuntuforfun</span><span>:~/nginx</span><span>$ </span>ls bin conf data logs</code>
nginx的配置文件位于conf/下,名为nginx.conf。组成配置文件的基本单元是一条条的“指令(directives)”,指令由名称、参数属性以及结尾的’:’三部分组成。此外,一些指令会被{ }包围起来,组成一个block;如果block内部包含一些指令,那么这个block也叫作一个“上下文(context)”。
配置文件里所有的指令要么在某个上下文内,要么不被任何上下文包含(即位于主上下文),有点类似于C中的全局变量。
例如, 一个简单的配置文件如下所示:
<code>bookxiao<span>@ubuntuforfun</span><span>:~/nginx/conf</span><span>$ </span>cat nginx.conf <span>#user nobody;</span> worker_processes <span>1</span>; events { worker_connections <span>1024</span>; } http { server { listen <span>80</span>; server_name localhost; location / { root html; index index.html index.htm; } location /images { root /home/bookxiao/nginx/data; } } }</code>
event, http, server都是”context”;指令”worker_processes 1;”位于main context。
要想简单测试nginx的功能,那么首先看一下如何配置server{}块。在nginx中,每个server块都表示一个HTTP服务,不同的server拥有不同的port和server_name。
假定我们现在有一张图片,存放路径为~/nginx/data/images/beautiful-girl.jpg。
现在我们想在浏览器里面输入http://127.0.0.1/images/beautiful-girl.jpg
,就会这样:
仔细看一下上面的配置文件,看到有个location的block是这样定义的:
<code> location /images { root /home/bookxiao/nginx/<span><span>data</span>;</span> }</code>
locations后跟的”/images”用来跟客户端的URL请求作前缀匹配,如果匹配了,那么就将root的值添加到URL的前端,组成新的URL去文件系统寻找资源文件。
比如说,这里原本的URL是”/images/beautiful-girl.jpg”,那么最终的URL是”/home/bookxiao/nginx/data/images/beautiful-girl.jpg”。
如果有多个location都匹配某个URL怎么办?nginx的策略是选择最长匹配的值的那个location。
所以,我们可以增加这样一个server:
<code> server { listen <span>9999</span>; server_name localhost_test; location /images { root /home/bookxiao/nginx/<span><span>data</span>/test;</span> } }</code>
然后执行sudo nginx -s reload
重新加载配置文件。然后我们在data/下新建一个test/images/目录。这样,我们在浏览器中输入http://127.0.0.1:9999/images/beautiful-girl.img
。那么我们就会看到:
版权声明:本文为博主原创文章,未经博主允许不得转载。
以上就介绍了nginx学习笔记1 使用nginx搭建简单的HTTP服务器,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

如何在 Windows 中配置 Nginx?安装 Nginx 并创建虚拟主机配置。修改主配置文件并包含虚拟主机配置。启动或重新加载 Nginx。测试配置并查看网站。选择性启用 SSL 并配置 SSL 证书。选择性设置防火墙允许 80 和 443 端口流量。

Docker 容器启动步骤:拉取容器镜像:运行 "docker pull [镜像名称]"。创建容器:使用 "docker create [选项] [镜像名称] [命令和参数]"。启动容器:执行 "docker start [容器名称或 ID]"。检查容器状态:通过 "docker ps" 验证容器是否正在运行。

可以通过以下步骤查询 Docker 容器名称:列出所有容器(docker ps)。筛选容器列表(使用 grep 命令)。获取容器名称(位于 "NAMES" 列中)。

确认 Nginx 是否启动的方法:1. 使用命令行:systemctl status nginx(Linux/Unix)、netstat -ano | findstr 80(Windows);2. 检查端口 80 是否开放;3. 查看系统日志中 Nginx 启动消息;4. 使用第三方工具,如 Nagios、Zabbix、Icinga。

在 Docker 中创建容器: 1. 拉取镜像: docker pull [镜像名] 2. 创建容器: docker run [选项] [镜像名] [命令] 3. 启动容器: docker start [容器名]

可以查询 Nginx 版本的方法有:使用 nginx -v 命令;查看 nginx.conf 文件中的 version 指令;打开 Nginx 错误页,查看页面的标题。

在云服务器上配置 Nginx 域名的方法:创建 A 记录,指向云服务器的公共 IP 地址。在 Nginx 配置文件中添加虚拟主机块,指定侦听端口、域名和网站根目录。重启 Nginx 以应用更改。访问域名测试配置。其他注意事项:安装 SSL 证书启用 HTTPS、确保防火墙允许 80 端口流量、等待 DNS 解析生效。

当 Nginx 服务器宕机时,可执行以下故障排除步骤:检查 nginx 进程是否正在运行。查看错误日志以获取错误消息。检查 nginx 配置语法正确性。确保 nginx 具有访问文件所需的权限。检查文件描述符打开限制。确认 nginx 正在侦听正确的端口。添加防火墙规则以允许nginx流量。检查反向代理设置,包括后端服务器可用性。如需进一步帮助,请联系技术支持。
