我的第一篇——nginx+naxsi总结篇1
今天是我正式在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的更多相关文章
- nginx——内存池篇
nginx--内存池篇 一.内存池概述 内存池是在真正使用内存之前,预先申请分配一定数量的.大小相等(一般情况下)的内存块留作备用.当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续 ...
- 我的第二篇--nginx安装问题之路径问题
这几天还是一直在搭建nginx,并且要在nginx的基础之上配置naxsi(WAF防火墙)并使它生效,但是随之而来的问题也会有很多,也许因为我是个新手,所以遇到的问题要多,不解的问题也要很多,不知道又 ...
- 初识nginx——内存池篇
初识nginx——内存池篇 为了自身使用的方便,Nginx封装了很多有用的数据结构,比如ngx_str_t ,ngx_array_t, ngx_pool_t 等等,对于内存池,nginx设计的十分精炼 ...
- 解剖Nginx·自动脚本篇(5)编译器相关主脚本
在 Nginx 的自动脚本中,auto/cc目录下的所有脚本都是用于编译器相关配置使用的.Nginx的出色跨平台性(Linux.Darwin.Solaris.Win32 等)就有这些脚本的贡献.该目录 ...
- dedecms调用文章列表第一篇和下面几篇不同的方法
{dede:arclist row=1 orderby=pubdate infolen=60 limit=0,1} <li class="dot1"><img s ...
- 我、实战nginx+naxsi(WAF)之一
差不多,一个星期多的时间都过去了.但是还是感觉时间过的太快,总是不禁的让人长叹一声,关于nginx和(naxsi)WAF这个问题,也算是只走出了第一步,在遇到了各种乱七八糟的错误之后总算是想要静下心来 ...
- 经典sql-获取当前文章的上一篇和下一篇
我们在做资讯类的网站的时候,肯定会有这么一个需求,就是在资讯内容页的下方需要给出上一篇和下一篇资讯的链接.上次我一同事兼好友兼室友就遇到了这么一个需求,一开始我们都把问题想复杂了,先取的是符合条件的资 ...
- mysql的优化_第十一篇(查询计划篇)
Mysql优化(出自官方文档) - 第十一篇(查询计划篇) 目录 Mysql优化(出自官方文档) - 第十一篇(查询计划篇) 1 EXPLAIN Output Format EXPLAIN Join ...
- PHP实现上一篇、下一篇
//php实现上一篇.下一篇 获取当前浏览文章id $id = isset($_GET[ ? intval($_GET['id']) : ""; 下一篇文章 $query = my ...
随机推荐
- linux删除数据文件无备份恢复
参考 : http://www.lunar2013.com/2013/06/linux-%E8%AF%AF%E5%88%A0%E9%99%A4%E6%96%87%E4%BB%B6%E6%81%A2%E ...
- 用COM方式快速导出到Excel一例,批量导出
开发中用到填充Excel时,一个一个的填充不免太慢,现有用数组方式填充一例,可以实现COM方式快速填充. C#,VBA中用法类似 适用场景:需要自动化操作Excel的方式下使用,比较除填充数据外还要自 ...
- sys.argv[]基本用法
#python 3.4.2 #windows系统下可以在CMD下执行 python test.py 第一参数 第2个参数 #空格分隔每个参数,sys.argv[]是用来获取命令行参数的 #引用必要的包 ...
- 【转】Linux 技巧: Bash 参数和参数扩展
重点看下清单7 现在,很多 Linux® 和 UNIX® 系统上都有 bash shell,它是 Linux 上常见的默认 shell.通过本文,您将了解到如何在 bash 脚本中处理参数和选项,以及 ...
- BNUOJ-29364 Bread Sorting 水题
题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=29364 题意:给一个序列,输出序列中,二进制1的个数最少的数.. 随便搞搞就行了,关于更多 ...
- BNUOJ-29357 Bread Sorting 模拟
题目链接:http://www.bnuoj.com/bnuoj/problem_show.php?pid=29357 直接模拟就可以了.. //STATUS:C++_AC_190MS_1884KB # ...
- soliworks三维机柜布局(二)创建设备位置
首先声明对三维机柜布局来说,此步骤不是必须的.(创建solidworks装配体文件时,若是创建了位置就可以选择是否为每个位置创建一个装配体,没有创建位置的话只能选择创建整个工程的装配体文件) 在菜单栏 ...
- hdoj 1874 畅通工程续【dijkstra算法or spfa算法】
畅通工程续 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submi ...
- 转载Ajax.Net--ScriptManager和UpdatePanel控件
ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果.其中的UpdatePanel就是设置页面中异步局部更新区域,它必须依赖于ScriptManager存在,因 ...
- Widget only supports Widgets as children
Widget only supports Widgets as children https://www.baidu.com/s?wd=Widget%20only%20supports%20Widge ...