当前位置:C++技术网 > 精选软件 > 云平台开发架构分析系列:8 Nginx服务器初次使用讲解

云平台开发架构分析系列:8 Nginx服务器初次使用讲解

更新时间:2017-06-23 23:57:32浏览次数:1+次

        按照文章《云平台开发架构分析系列7:Nginx服务器环境安装搭建》的讲解,我们是可以轻松将Nginx服务器搭建起来的。那么刚搭建起来的Nginx都有些什么呢?各个东西都有什么用呢?这一篇我们将对此做一个初步了解,让我们迅速熟悉下nginx的情况。

        nginx安装完后,如何玩转nginx,这可是一个问题。对于完全对nginx没有概念的同学,安装完nginx后,可能是一筹莫展呀。本篇文章非常详细的介绍了nginx,让你可以轻松越过这一层障碍,跑个静态网站完全没有问题了。

        安装完Nginx后,我们可以在/usr/local/nginx/目录下看到nginx的相关安装文件。我们没有自己去修改安装的目录,这个是默认的安装目录。如果你自己修改了,那么就在对应的目录下找到这些文件夹。

       

        前面四个文件夹是有内容的,后面五个文件夹是空的。前四个文件夹是基础的文件,必须有的。后几个则是扩展配置用的。从后面几个文件夹的名字可以看出,nginx默认支持扩展的几个网关接口协议。如果需要扩展,则在这些文件夹里添加配置文件,然后修改conf里的配置文件进行转接即可。

        这里介绍一下nginx和网关接口的关系。nginx是http服务器,会接受到http请求。而如果我们想自己去扩展web处理,就可以使用网关接口协议。在nginx配置文件中配置好转接,nginx就可以将http请求传递到你配置的网关接口所指定的程序处理。而默认情况下,这些扩展的网关接口配置文件夹都是空的,nginx默认是支持静态网页的处理的。后面会介绍这几个基础文件夹,你就清楚了。

        我们这里就先来介绍一下前面四个基础的文件夹。

    1.sbin

        nginx服务器的可执行程序。这个文件夹就一个可执行程序nginx。我们要启动nginx服务器,就是启动这个程序。启动方法很简单,就只直接启动这个程序就行了,和启动Linux其他程序一样。你要记住这个路径,以免以后忘记找不到这个程序在哪。这个路径默认在/usr/local/nginx/sbin/nginx  。

        启动之后,实际上启动了两个进程,如下图所示:

    nginx的两个进程

        一个是master process,即主进程,一个是worker process,即工作进程。如果想要关闭nginx,我们要关闭主进程。如果你只是关闭工作进程,是永远也关不完的,因为主进程还会启动新的工作进程。主进程就相当于是守护进程,这样可以确保nginx持续不断的运行,这个和我云平台的实现不间断运行机制是一样的。

       如何查看nginx运行的进程呢?来看看下面一组命令吧:

    ps -ef   【截图中使用的,通过查看后面的程序名称得知】

    lsof -i:80 【默认的nginx会监听80端口,这样也可以查出这两个进程,而进程PID小的自然是主进程,因为主进程再创建工作进程】

    cat /usr/local/nginx/logs/nginx.pid 【nginx会将主进程的PID记录在日志文件里,也就是/logs/nginx.pid文件了。这样只知道主进程,不过我们可以通过主进程关闭nginx也就够了。】

        那么我们如何关闭nginx呢?我们有了PID,自然就好关闭了。我们使用kill命名,后面跟着进程PID就行了。如:

    kill 24018

        如果要立刻马上强制关闭,就这样:

    kill -9 24018

        不过不建议强制关闭,就按照第一种方式关闭,这样可以让nginx可以自己释放一些资源,死的优雅一点,毕竟nginx也是有尊严的。

    2.logs

        看名字就知道,这个目录是存放日志的地方。前面说了nginx主进程的PID就存储在/logs/nginx.pid文件里呢。日志文件里还有其他文件,我们来看看:

    nginx日志文件夹的文件

        error.log:这个文件是记录nginx发生的所有操作错误,比如文件读取失败之类的。我们来看看操作信息,感受一下:

    nginx操作错误信息

        我们可以看到,这里发生了三个错误或者叫做异常情况。第一个是打开文件失败,文件名为favicon.ico。我们知道,这个文件并不存在,后面给出了错误提示,No such file... ,第二个是被我使用kill -9 24018杀死时候记录的日志,属于异常死亡记录。第三个则是在读取另外一个文件是发生的记录。

        通过这个日志文件,我们可以来分析各种网站文件错误情况,比如文件未上传,下载报错404。或者服务器异常崩溃,也可以通过这个查看原因。

        access.log:这个文件是网站被访问的记录,比如哪些页面被什么浏览器浏览了一次,或者被蜘蛛抓取了一次。我们可看到具体的HTTP请求。来看看记录的样子:

    nginx access.log

        nginx.pid:这是记录nginx主进程PID的文件。如果nginx进程不再运行,这个文件就不存在了。我们也可以通过这个文件来判断nginx是否在运行着。我们看看这个文件里面的内容:

     nginx.pid:

        就一个PID,再没有其他内容了。

    3.html

        这个文件夹内,默认只有两个文件,如下图:

    nginx 下的html文件夹

        index.html就是显示nginx欢迎界面的网页文件,见上一篇文章。50x.html则是显示nginx服务器错误的网页文件。如下图:

    nginx 500错误

        这样的错误我们应该见得很多了哦。nginx默认就是可以支持这两个页面。也就是nginx不经过任何配置,就可以直接运行html静态网页。所以,你可以直接在这个文件夹里放相关静态网页就可以了。如果说用nginx配置静态网页,安装完就可以了。

    4.conf

        这个文件夹则是nginx配置文件的集中营。包括nginx本身的配置文件,还有扩展网关接口的配置文件,都在这。文件夹内的文件如下:

    nginx下的conf文件夹

        默认有效的是不带default文件。nginx自己的配置文件是nginx.conf。如果这个文件没有配置其他扩展网关接口文件,那么其他网关接口配置文件就不起作用。.defalut文件则是给我们提供配置文件模板的。如果我们将真正的配置文件写坏了,或者删除了,可以将default文件复制一份出来。需要注意的是,我们不要直接修改default里的文件。就是正式配置文件里,也不要直接删除那些被注释的配置,尽量保持配置文件完整,需要的时候,去掉注释即可,不需要的时候注释就行了。

        这些文件中,win-utf、koi-utf、koi-win三个文件是配置字符集相关的东西,mine.types则是配置服务器支持哪些文件的。如果服务器不支持的文件类型,是无法下载的哦。

        当然以上都是对nginx服务器安装后的初步了解。不过对于零基础的同学,也是够喝一壶的了。如果想真正的了解到位,还需要自己动手去安装nginx服务器,然后自己上传一些网页上去,看看是不是这样吧。

        当然,nginx的重头戏可不是html网页哦。重点在于这些配置文件,然后可以配置成其他网关接口来处理web网页,实现动态网站。然后自己写代码实现网页的动态交互哦。