今天是我正式在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