某日,领导把我叫去谈话,说是要帮助我快速成长。给我出了这样一个问题:
使用nginx搭建web服务器,可以在网页上列出指定目录下的文件,可以点击下载文件。
说实话不是通信专业科班出身,之前从未接触过,有点懵逼。于是我开始着手准备,好在现在网络太强大,一晚上对这方面的知识有所了解并完成了考察。
问题一:服务器的软件有哪几种
答:服务器软件有 Apache 服务器、Nginx 服务器和 WindowsServer 服务器。
问题二、如何理解静态网页和动态网页
答:不需要和后台进行交互的网页一般可称为静态网页,比如只能浏览和下载的页面;
需要和后台进行交互的网页成为动态服务器,比如提交表单。
这里我们需要搭建一个基于 Nginx 的静态服务器。分步骤操作:
一、安装 Nginx
这里我使用的是homebrew 进行安装。
安装完成以后:
步骤一、首先更新 homebrew
brew update
如果上面操作长时间没任何动静,请更换镜像,参考清华的镜像 https://mirrors.tuna.tsinghua...
如果你在这一步遇到了这个错误:
Another active Homebrew update process is already in progress. Please wait for it to finish or terminate it to continue.
解决办法:
rm -rf /usr/local/var/homebrew/locks
如果你对 rm -rf不熟悉,建议你直接到 locks 目录下手动删除。你放酿成大错。
更新 homebrew 这一步不可省略,即使你跳过了这一步,直接使用 homebrew 安装软件,那么安装之前还是会先更新,如下图:
1B51A08A-8EC2-478B-A5D0-A14AD748F5F3.png
步骤二、查看 nginx 信息
brew info nginx
如果你还没安装 nginx,使用该命令会提示你 Not install。如果已经安装会显示 nginx 一些信息,如下图:
查看 nginx 信息步骤三、安装 nginx
brew install nginx
请注意,这个地方特别牛逼,不需要你手动安装 nginx 的各个依赖库了,这里全部安装好,依赖库主要由:openssl、pcre。我已经安装了 nginx,这里重复安装会有提示,如下图:
安装 nginx
如果你是第一次安装,安装好之后会告诉你 nginx 配置文件路径,安装好之后我们也可以通过查看 nginx 信息获取 nginx 路径信息(如图步骤二),配置文件路径:/usr/local/etc/nginx/nginx.conf
可以直接通过文本编辑器工具打开编辑该文件,也可以通过 Vim 打开编辑。这里我打开的时候选择打开方式为“文本编辑”,如图:
查看配置文件
步骤四、启动 nginx
nginx
在命令行输入这个命令后什么现象也没有,在浏览器输入 localhost:8080
那么你就会看到如下页面:
image.png
恭喜你,看到这个网页说明你的 nginx 安装成功。其实这个页面是一个静态文件,路径是:/usr/local/var/www/index.html
在路径/usr/local/var/www下还有一个文件是:/usr/local/var/www/50x.html如果安装不成功就会显示这个文件里的内容。
其实还有一个路径下也有这两个文件,内容相同,随便修改那一个路径下的文件内容,另一个路径下的文件也会一起跟着变化:/usr/local/Cellar/nginx/1.15.8/html不知道这两个路径分别有什么不同。
这里的端口8080是可以修改的,只要和你本地的端口不冲突就可以,比如可以修改为8181或者9999。我们还可以使用命令行查看当前哪些端口被占用了,而我们又很想使用该端口,那么就把占用端口的进程结束掉,使得这个端口空闲下来。
二、搭建静态服务器
搭建这个服务器的目的是能够和在同一局域网下的同学们分享文件,当然了我是搭建在我自己的电脑上的,我如果不共享我的电脑,那就只能我自己分享文件给其他同学,只需要给他们一个链接,就可以随意下载了。
比如我把需要分享给其他同学的文件全都放在一个目录下。
我在桌面上创建了一个文件夹,命名为 NginxTest。那么这个文件在我电脑(当前主机)的路径就是:/Users/guxuecheng/Desktop/NginxTest
我们在安装完毕 Nginx 以后,在浏览器输入 localhost:8080网页上网页上显示了 Welcome to nginx!为什么是显示这个内容呢?因为地址 localhost:8080就是指向这个文件的。现在我们希望这个地址指向我们指定的文件 NginxTest,那么就需要在配置文件里修改中这个指向。现在我们再来分析一下配置文件:
配置文件
- listen:nginx 使用的端口号,可以修改。
- Server_name: 默认是 localhost,那么就只能本地自己访问,其他人无法访问。现在把他修改为本地主机的 IP 地址,那么任何人有了这个 IP 都可以访问。
- root:默认是 html,所以才能显示/usr/local/Cellar/nginx/1.15.8/html路径下的两个文件内容。现在我们需要显示指定文件的内容,那么久填写指定文件的路径。
- autoindex on:这个参数是自己添加的,意思就是允许 nginx 访问文件夹目录。如果没有这个值,会报403。
- autoindex_exact_size off:显示文件大小。
- autoindex_localtime on:显示文件创建时间。
- charset utf-8,gbk:解决中文乱码问题。
配置文件修改结束记得保存,然后需要重启 nginx
nginx -s reload
然后在浏览器输入Server_name 的值,也就是你自己填写的 IP 地址,加上端口号,比如:192.168.13.78:8080就可以访问并下载 NginxTest 目录下的 文件了,可以把这个链接发送给你的同学,他们也就可以访问了,自己访问还是只需要 localhost:8080就可以:
静态网页
网友评论