aws上面开的Instance为Ubuntu 14.04,下面记录在ubuntu 14.04上搭建一个Nginx服务器,通过浏览器localhost
可以访问的过程
nginx rewrite依赖PCRE包,需要先编译安装PCRE库,一个perl语言的兼容正则表达式第三方库。可以通过ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/
下载pcre-8.35.tar.gz
, 然后安装,pcre安装之后的动态库文件位于/usr/local/lib
中。
./configure
make
sudo make install
从http://nginx.org/download/
下载nginx-1.8.0.tar.gz
,然后通过make方式安装,若未安装pcre依赖库,会报错,可以通过先安装pcre库或者禁用rewrite功能解决,推荐前者。安装成功后,Nginx的目录为/usr/local/nginx
.Nginx主要的配置文件为conf下的nginx.conf,启动文件为sbin下的nginx。
启动nginx并访问localhost验证安装成功,结果报错如下:./nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: Error 40
。通过ldd $(which /usr/local/nginx/sbin/nginx)
查看该可执行文件依赖的库文件,可以发现,其他的动态库文件so都在lib下找到,而libpcre.so.1未找到,事实上该动态库在第一步安装了PCRE依赖库之后,存在于/usr/local/lib中,通过ln -s /usr/local/lib/libpcre.so.1 /lib
建立软链接,即可正常启动Nginx
sudo ./nginx -s reload
ps -ef | grep nginx
查询nginx的主进程号可以发现一共有两个进程,一个master,一个worker(由于配置文件中设置的process为1,因此一个worker).通过sudo kill -QUIT pid
即可停止Nginx.`当在nginx.conf中配置process的个数之后,相应的worker数目会增多,而master为1个不会有变化。