今天是我正式在Linux下安装nginx的第一天吧,搜索,查看,安装,这之间肯定是或多或少的遇到了很多的问题,不管是大的还是小的,都应该记录下来,或许以后还会用到,或许会帮到其他人。

首先,先说一下,我是在virtualbox上装了ubuntu13.01这个版本下安装并配置nginx、naxsi的。之前我用的是ubuntu server这个版本,但是因为下载谷歌上的某一文件所以选择了桌面版,可以复制文件并且这样可以在主机和虚拟机之间拖动方便。

那么,我以下总结的重点就不放在安装的具体过程上面了,重点放在遇到的一些问题上,并且和他们解决的方法上。

第一个问题:wget http://naxsi.googlecode.com/files/naxsi-x.xx.tar.gz在执行这一句下载naxsi源码的时候,你会发现提示的错误很有可能是连接超时。

解决方法:因为是访问谷歌的网址去下载naxsi的源码,在正常的浏览器中打开需要FQ。所以我采用的解决方法可以是先下载到你的主机系统上,再进行拖放,当然了,我用的是virtualbox,这一软件的拖放问题我尝试着解决过很多次方法,但是拖放是失败的,所以就想了另一个解决方法,使用优盘,通过读取优盘那么完成移动文件就是很简单的了。

当然,如果你使用的是vmware workstation的话,那么是支持文件的拖动的,当然,你如果能通过网站访问直接下载到的话那是最直接的也是最方便的。我这里提到的市一中更加这种的办法。

第二个问题:./configure命令执行的问题,或者说是执行命令之后的报错问题。

当时执行到./configure命令的时候是报错的。报错的内容也肯定是不存在!

解决方法:这里的错误其实很明显,有太多的人照着网上的教程在一步步的执行命令,但是有很多人不会注意到,其实这里本身需要注意的就是一个路径的问题,对,没有错,就是路径。这里的路径需要是你的解压文件所在的路径,也就是说之nginx和naxsi所在的位置,并且在执行./configure这条语句的时候,需要在nginx的解压之后的生成的文件夹之下。如图:

在这个目录下执行该语句的话会直接成功的。成功之后部分截图如图:

第三个问题:这是紧跟着上一步之后的下一条命令我就遇到的问题,就是./nginx(这是可执行的命令)这一命令。

当时还是一直就在上一步操作命令执行的目录下(nginx-1.7.9)执行的。报错!!!!!

解决过程:当时遇到这个问题,想的就是是不是这个命令是错的,然后我就把./去掉,只是输入了nginx(可执行命令)这一命令,依然报错!!!!怎么办???那么接下来,又进行了搜索相关的帖子,可以使用nginx -t这个命令来看一下是不是nginx已经成功,但是弹出来一个选择安装的界面:如下

当时想了想,我需要的不就是nginx-naxsi吗?所以我挺果断的选择输入安装nginx-naxsi的命令(apt-get install nginx-naxsi)。等待一大堆的安装过程结束之后,我直接选择nginx这一命令执行,执行成功了,除了高兴,还剩下什么,我以为成功了,嗯,就是这样,但是领导的一句话说到了点子上,如果选择安装一下这个就可以直接启动nginx这么简单的话,那么我们之前执行的configure命令还有什么意义呢?我先使用进程命令(ps -ef | grep nginx)如下图:

所以,当即需要做的是需要找到之前执行configure命令时候生成的nginx文件,因为./nginx这一命令是绝对会执行成功的,而不是简简单单的nginx这一命令来执行,所以应该会在某个特定的目录下存在着这个nginx文件,也就是必然的,我在另一个目录下(objs目录)找到了nginx这个文件。如下图:

接下来我输入了运行nginx的命令,即./nginx,但是结果失败了:

这是因为之前已经开启过一次了,我们只需要结束进程就好了,一切看起来是似乎是so easy。如下是结束进程的过程:

之后只是要执行./nginx这一命令就好了,运行成功并查看进程:

我们可以对比一下两次运行nginx的截图:

前一次运行结果:

后一次运行结果:

我们轻易可以发现,自己编译生成的nginx,默认worker只有一个,而网上下载的nginx,自动生成会有四个worker,据说,windows版的nginx,就算是启动了4个worker,也只有一个起作用。

还有一个问题也很重要,就是在你打开127.0.0.1访问的时候会报错,显示会是403 forbidden,这是权限的问题,需要你对文件进行提权

个人觉得是自己在弄,所以直接把握所用到的那个文件提到最高读写权限,当然了,因人而异,我的提权命令是:chmod -R 777 /home(home是我进行所有操作的文件夹,你可以具体到某以文件,也可以把权限降低到775或者其他。)

至此,今天所有的问题都差不多就是这么多,其实这样的一个过程似乎是很简单的,但是这中间会遇到挺多的大大小小的问题,我们看着很烦,但是说起来总结一下,最主要的还是路径的问题吧,不管是命令需要的路径,还是生成的文件所存放的路径,都是需要注意的。我知道这应该不算是今天的收获或者是总结吧,但是总是花了一些时间来整理的,或多或少是值得的。

再附上一个应该是官网的安装教程吧,有很多帖子的都是大同小异,只是系统的区别:https://code.google.com/p/naxsi/wiki/Howto#Installing_nginx_+_naxsi

我的第一篇——nginx+naxsi总结篇1的更多相关文章

  1. nginx——内存池篇

    nginx--内存池篇 一.内存池概述 内存池是在真正使用内存之前,预先申请分配一定数量的.大小相等(一般情况下)的内存块留作备用.当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续 ...

  2. 我的第二篇--nginx安装问题之路径问题

    这几天还是一直在搭建nginx,并且要在nginx的基础之上配置naxsi(WAF防火墙)并使它生效,但是随之而来的问题也会有很多,也许因为我是个新手,所以遇到的问题要多,不解的问题也要很多,不知道又 ...

  3. 初识nginx——内存池篇

    初识nginx——内存池篇 为了自身使用的方便,Nginx封装了很多有用的数据结构,比如ngx_str_t ,ngx_array_t, ngx_pool_t 等等,对于内存池,nginx设计的十分精炼 ...

  4. 解剖Nginx·自动脚本篇(5)编译器相关主脚本

    在 Nginx 的自动脚本中,auto/cc目录下的所有脚本都是用于编译器相关配置使用的.Nginx的出色跨平台性(Linux.Darwin.Solaris.Win32 等)就有这些脚本的贡献.该目录 ...

  5. dedecms调用文章列表第一篇和下面几篇不同的方法

    {dede:arclist row=1 orderby=pubdate infolen=60 limit=0,1} <li class="dot1"><img s ...

  6. 我、实战nginx+naxsi(WAF)之一

    差不多,一个星期多的时间都过去了.但是还是感觉时间过的太快,总是不禁的让人长叹一声,关于nginx和(naxsi)WAF这个问题,也算是只走出了第一步,在遇到了各种乱七八糟的错误之后总算是想要静下心来 ...

  7. 经典sql-获取当前文章的上一篇和下一篇

    我们在做资讯类的网站的时候,肯定会有这么一个需求,就是在资讯内容页的下方需要给出上一篇和下一篇资讯的链接.上次我一同事兼好友兼室友就遇到了这么一个需求,一开始我们都把问题想复杂了,先取的是符合条件的资 ...

  8. mysql的优化_第十一篇(查询计划篇)

    Mysql优化(出自官方文档) - 第十一篇(查询计划篇) 目录 Mysql优化(出自官方文档) - 第十一篇(查询计划篇) 1 EXPLAIN Output Format EXPLAIN Join ...

  9. PHP实现上一篇、下一篇

    //php实现上一篇.下一篇 获取当前浏览文章id $id = isset($_GET[ ? intval($_GET['id']) : ""; 下一篇文章 $query = my ...

随机推荐

  1. Linux Add a Swap File

    http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/ Procedure To Add a Swap File Under Linux Y ...

  2. js,css压缩工具

    常见的js压缩工具: js commpress: 运行平台:windows系统, 优点:能自动压缩: 缺点:不能拖动文件压缩:只支持windows平台: s.press 运行平台:mac ox系统 优 ...

  3. Python的数据类型的一些知识

    int 类型表示(正负)整数,str 类型表示字符串(Unicode字符序列): 所表示的整数大小只受限于机器内存,而非固定的字节数. 字符串可以用双引号或是单引号封装,需要成对的出现. 传统上,py ...

  4. NOIP2011 观光公交

    3.观光公交 (bus.cpp/c/pas) 风景迷人的小城 Y 市,拥有 n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特 意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第 ...

  5. grails2.3.11第二课

    第二课主要介绍grails相关插件的使用,这是敏捷开发所必需的途径. 可以把grails的插件看作是grails正常项目的迷你型,因为看插件的源码,它的目录结构和正常项目相差无几. 官方开源插件地址 ...

  6. ClassLoader, JavaAgent, Aspectj Weaving一站式扫盲帖

    最近工作里复习的Class Loader基础知识集锦,写下来希望对别人有帮助,而且不止是为了撂倒面试官. 为了尽量简单明了容易背,有些部分写得比较干. 0. 参考资料: 书:<深入了解Java虚 ...

  7. [iOS基础控件 - 4.3] APP列表 xib的使用

    A.storyboard和xib 1.storyboard: 相对xib较重量级,控制整个应用的所有界面 2.xib: 轻量级,一般用来描述局部界面   B.使用 1.新建xib文件 New File ...

  8. 关于local storage及session storage 应用问题

    H5- storage 可以在不同页面内进行数据传递数据信息,保证了数据传输不许后台交互即可在前端部分自我实现,以下为local storage 应用个人简析: * localStorage * se ...

  9. JavaScript要点 (二) 使用误区

    赋值运算符应用错误 注:赋值语句返回变量的值. 在 JavaScript 程序中如果你在 if 条件语句中使用赋值运算符的等号 (=) 将会产生一个错误结果, 正确的方法是使用比较运算符的两个等号 ( ...

  10. iOS 限制textField输入的长度

    1.电话号码(带3-3-4效果) //指定代理 self.phoneTextField.delegate = self; //当编辑改变的时候,进行字符校验 [self.phoneTextField ...