今天是我正式在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. xmbc 资源

    http://raspberrypi.diandian.com/post/2013-02-25/40048470423 http://blog.csdn.net/lincyang/article/de ...

  2. 如何查看.Net FrameWork,VC++ 等安装包的启动参数

    最近做了一个客户端的程序,客户端程序运行环境要求是.Net FrameWork 4.0 和VC++ 2012 ,在做安装包的时候需要先检测系统环境是否存在这些环境,不存在则安装对应环境. 使用工具来制 ...

  3. 《转》高级Unix命令

    原文链接:http://coolshell.cn/articles/1044.html 在Unix操作中有太多太多的命令,这些命令的强大之处就是一个命令只干一件事,并把这件事干好.Do one thi ...

  4. C# Debug与release之间的一些小差异

    如果代码声明了一个变量,后面却没有用到, 生成方式debug模式下,这个变量的值存在,调试过程中是可以看到的, 生成方式release模式下,编译时经过了优化,这个值在调试过程就看不到了

  5. Her and his blog

    Tonight, I read localhost8080 and some of her husband m67's blog. I found they are so geek and reall ...

  6. oracle 修改用户下部分表现有表空间

    工作日记之<修改用户表现有表空间> //user_tables可查询出当前登录用户的所有表,以及部分表信息,可以灵活运用于其他用途 //假设现有表空间TS1.TS2,需要迁移所有表空间TS ...

  7. http 需要掌握的知识点(一)

    超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一种网络协议.HTTP 也属于 TCP/IP 协议族的子集,想要学习 HTTP ,先需要了解 ...

  8. C++学习笔记(十六):友元

    问题的提出: 我们已知道类具备封装和信息隐 藏的特性.只有类的成员函数才能访问类的私有成员,程式中的其他函数是无法访问私有成员的.非成员函数能够访问类中的公有成员,但是假如将数据成员都定义 为公有的, ...

  9. Windows Azure Website类别、限制条件

    在Azure中Website是一个典型的SAAS,用户可以很容易地搭建自己想要的网站,可以基于多种编程语言(ASP.NET/ASP/PHP/Node.JS等)和网站框架. Website有三种分类分别 ...

  10. ALV可输入状态下输入金额字段变小数的问题

    http://blog.163.com/mxb_sap@yeah/blog/static/10335262520167109022155/ 小数位数两位    当我在给ALV上给该字段输入整数 '12 ...