Linux Nginx 安装.docx
《Linux Nginx 安装.docx》由会员分享,可在线阅读,更多相关《Linux Nginx 安装.docx(10页珍藏版)》请在冰豆网上搜索。
LinuxNginx安装
linuxnginx安装
一下载:
PCRE下载
(PCRE正则表达式库官方网址)
nginx下载
官网:
http:
//nginx.org
下载页面:
http:
//nginx.org/en/download.html
tar–zxvfpcre-8.32.tar.gz,解压目录为:
pcre-8.32
然后进入到cdpcre-8.32,进行配置、编译、安装
配置
./configure或./config
配置的时候会出现问题,比如prce-xxx./configure如果运行出错:
YouneedaC++compilerforC++support则需要安装C++编译环境
yuminstall-ygccgcc-c++是搜索安装包,可是运行报一样的问题:
找不到包,这样的话需要下载安装包才行.
其实安装包在默认的系统安装文件里面都是有的,所以我用虚拟光驱打开iso安装文件,发现在Packages包下面就是所有的rpm安装包文件,我把列出来的文件放到need文件下.
在后面Nginx配置的时候也会提示一些包找不到,我把对应的文件放在need/need2目录下了.
linux下iso镜像文件使用安装gcc的方法:
一次安装:
rpm-ivhglibc-common-2.12-1.7.el6.i686.rpm
rpm-ivhkernel-headers-2.6.32-71.el6.i686.rpm
rpm-ivhlibgcc-4.4.4-13.el6.i686.rpm
rpm-ivhglibc-2.12-1.7.el6.i686.rpm
rpm-ivhmpfr-2.4.1-6.el6.i686.rpm
rpm-ivhcpp-4.4.4-13.el6.i686.rpm
rpm-ivhlibgomp-4.4.4-13.el6.i686.rpm
rpm-ivhnscd-2.12-1.7.el6.i686.rpm
rpm-ivhglibc-headers-2.12-1.7.el6.i686.rpm
rpm-ivhglibc-devel-2.12-1.7.el6.i686.rpm
rpm-ivhppl-0.10.2-11.el6.i686.rpm
rpm-ivhcloog-ppl-0.15.7-1.2.el6.i686.rpm
rpm-ivhgcc-4.4.4-13.el6.i686.rpm
echo"gccisinstalledsuccessful!
!
!
"
rpm-ivhlibstdc++-4.4.4-13.el6.i686.rpm
rpm-ivhlibstdc++-devel-4.4.4-13.el6.i686.rpm
rpm-ivhgcc-c++-4.4.4-13.el6.i686.rpm
编译
make
安装
makeinstall
解压:
tarzxvfngx_cache_purge-1.6.tar.gz
解压后的目录:
ngx_cache_purge-1.6
然后进入到cdnginx-1.4.4,
进行配置、
./configure--with-http_stub_status_module--prefix=/opt/nginx--add-module=../ngx_cache_purge-1.6
编译、安装
make&makeinstall
1.linux下面安装
1.下载pcre-8.10.tar.gznginx-1.1.1.tar.gz
2.安装pcre让nginx支持rewrite
pcre-8.10.tar.gz上传到/home目录下面
1)解压pcre
tarzxvfpcre-8.10.tar.gz解压pcre后/home下面会有pcre-8.10文件夹
2)配置pcre
cd/home/pcre-8.10
./configure输入该命令后屏幕会生成一堆文件,不用去管它
3)make
在linux中输入make命令后屏幕会生成一堆文件,不用去管它
4)安装
在linux中输入makeinstall
3.安装nginx
nginx-1.1.1.tar.gz上传到/home目录下面
1)解压nginx
tarzxvfnginx-1.1.1.tar.gz解压nginx后/home下面会有nginx-1.1.1文件夹
2配置nginx
cdnginx-1.1.1
./configure--prefix=/usr/local/nginx--with-http_stub_status_module
3)make
在linux中输入make命令后屏幕会生成一堆文件,不用去管它
4)安装
在linux中输入makeinstall
5)检查是否安装成功
cd/usr/local/nginx/sbin
./nginx-t
结果显示:
nginx:
theconfigurationfile/usr/local/nginx/conf/nginx.confsyntaxisok
nginx:
configurationfile/usr/local/nginx/conf/nginx.conftestissuccessful
6)启动nginx
cd/usr/local/nginx/sbin目录下面输入./nginx启动nginx
7)检查是否启动成功
ie浏览器中输入http:
//192.168.15.132
看到上面nginx欢迎界面说明启动成功
8)停止nginx
pkill-9nginx
Nginx的停止nginx-sstop
修改/nginx/nginx.conf文件
首行的usr后面
改为root
切记修改后需要重启nginx服务
说明nginx默认配置端口是80.配置文件主要是conf文件夹中的nginx.conf文件
启动nginx:
cd/usr/local/nginx/sbin目录下面输入./nginx启动nginx
ps-ef|grepnginx
netstat-nap|grep:
80//查看80端口被哪个进程占用
serviceiptablesstop//把防火墙打开,否则nginx不能被访问
Nginx编译出错make不了stop
Make不了事因为./configure配置的时候出错了,查看配置输出的内容,
部分配置显示如下:
configuringadditionalmodules
addingmodulein../masterzen-nginx-upload-progress-module-c7c663f
+ngx_http_uploadprogress_modulewasconfigured
addingmodulein../vkholodkov-nginx-upload-module-2ec4e4f
+ngx_http_upload_modulewasconfigured
checkingforsystemmdlibrary...notfound
checkingforsystemmd5library...notfound
checkingforOpenSSLmd5cryptolibrary...found
checkingforsha1insystemmdlibrary...notfound
checkingforOpenSSLsha1cryptolibrary...found
checkingforzliblibrary...found
creatingobjs/Makefile
Configurationsummary
+usingPCRElibrary:
../pcre-8.13
+usingOpenSSLlibrary:
../openssl-1.0.0e
+md5:
usingsystemcryptolibrary
+sha1:
usingsystemcryptolibrary
+usingsystemzliblibrary
其中:
zlibmd5sha1包都使用系统自带的,若系统没有,可下载安装
aptitudesearchsha1
aptitudesearchmd5
在这里遇到错误,我在之前从iso文件里读出来的Packages文件里面找对应的宝,找到的对应的几个安装包放在need2目录里了.
找到合适的包,进行安装即可
然后就可以编译了
Make
Makeinstall
Nginx启动出错errorwhileloadingsharedlibraries:
在centos5.732位上编译安照nginx-1.1.16出错
用命令:
/usr/local/nginx/sbin/nginx
启动nginx时,服务无法启动,出现libpcre.so.1notfound的错误,解决方法如下:
[root@localhostconf]#/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx:
errorwhileloadingsharedlibraries:
libpcre.so.1:
cannotopensharedobjectfile:
Nosuchfileordirectory
从错误看出是缺少lib文件导致,进一步查看下
先执行下述命令,查看共享库的信息
#lddwhich/usr/local/nginx/sbin/nginx
显示如下:
linux-gate.so.1=>(0x009a9000)
libpthread.so.0=>/lib/libpthread.so.0(0x00e13000)
libcrypt.so.1=>/lib/libcrypt.so.1(0x0027e000)
libpcre.so.1=>notfound
libcrypto.so.10=>/usr/lib/libcrypto.so.10(0x002ae000)
libz.so.1=>/lib/libz.so.1(0x00d54000)
libc.so.6=>/lib/libc.so.6(0x005e9000)
/lib/ld-linux.so.2(0x00583000)
libfreebl3.so=>/lib/libfreebl3.so(0x00110000)
libdl.so.2=>/lib/libdl.so.2(0x008e9000)
可以看出libpcre.so.1=>notfound并没有找到,进入/lib目录中手动链接下(这里的/lib目录指的是系统的根目录下面的lib目录),64的位的要进入/lib64目录下
执行如下:
#cd/lib
因为事先已经安装过pcre库,所以纳闷为何找不到库。
查看库的位置:
如果是32位的用cd/lib,如果是64位的用cd/lib64
之前配置一直没有成功是因为在lib里找不到类,后来发现在lib64里面才能找到对应的关系,具体的如下图:
#lllibpcre*
lrwxrwxrwx.1rootroot16Apr2718:
42/lib/libpcre.so.0->libpcre.so.0.0.1
-rwxr-xr-x.1rootroot190732Aug192010/lib/libpcre.so.0.0.1
pcre库存在,只是名字不是libpcre.so.1,而是libpcre.so.0。
尝试建立一个新的链接,解决这个问题:
#ln-slibpcre.so.0.0.1libpcre.so.1
再次查看一下:
#ldd/usr/local/nginx/sbin/nginx
显示已经ok了:
linux-gate.so.1=>(0x009a9000)
libpthread.so.0=>/lib/libpthread.so.0(0x00e13000)
libcrypt.so.1=>/lib/libcrypt.so.1(0x0027e000)
libpcre.so.1=>/lib/libpcre.so.1(0x005b9000)
libcrypto.so.10=>/usr/lib/libcrypto.so.10(0x002ae000)
libz.so.1=>/lib/libz.so.1(0x00d54000)
libc.so.6=>/lib/libc.so.6(0x005e9000)
/lib/ld-linux.so.2(0x00583000)
libfreebl3.so=>/lib/libfreebl3.so(0x00110000)
libdl.so.2=>/lib/libdl.so.2(0x008e9000)
重新启动Nginx:
/usr/local/nginx/sbin/nginx-sreload
启动成功!
首页出来了,后续的tomcat动态内容页成功出现。
然后在启动nginxok了
[root@localhostlib]#/usr/local/nginx/sbin/nginx
命令查看是否成功:
[root@localhostlib]#ps-ef|grepnginx
root95391019:
06?
00:
00:
00nginx:
masterprocess/usr/local/nginx/sbin/nginx
www95409539019:
06?
00:
00:
00nginx:
workerprocess