安装Nginx服务实战
1. 安装Nginx所需的pcre库
pcre中文perl兼容正则表达式,安装pcre库是为了使Nginx支持具备URI重写功能的Rewrite模块。安装pcre库如下:
1.)修改下载为国内阿里云
[root@web01 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
2.)下载pcre和pcre-devel
[root@web01 ~]# yum install pcre pcre-devel -y
3.)查看是否安装成功
[root@web01 ~]# rpm -qa pcre pcre-devel
pcre-devel-7.8-7.el6.x86_64
pcre-7.8-7.el6.x86_64
2. 安装Nginx
[root@web01 ceshi]# mkdir tools #创建tools文件主要是为了规范化
[root@web01 ceshi]# cd /home/ceshi/tools/[root@web01 tools]# wget -q http://nginx.org/download/nginx-1.6.3.tar.gz #从官网下载
[root@web01 nginx-1.6.3]# useradd www -s /sbin/nologin -M #创建指定用户www
[root@web01 tools]# tar xf nginx-1.6.3.tar.gz #用tar命令解压
[root@web01 tools]# cd nginx-1.6.3
[root@web01 nginx-1.6.3]# ./configure --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --prefix=/application/nginx-1.6.3/
预编译Nginx软件时,可以使用./configure --help查看相关参数帮助,常用参数:
--prefix=PATH set installation prefix #设置安装路径
--user=USER set non-privileged user for worker processes #进程用户权限
--group=GROUP set non-privileged group for worker processes #进程用户组权限
--with-http_ssl_module enable ngx_http_ssl_module #激活ssl功能
--with-http_stub_status_module enable ngx_http_stub_status_module #激活状态信息
[root@web01 nginx-1.6.3]# echo $? #查看是否成功,0则为成功
0
[root@web01 nginx-1.6.3]# make #编译
[root@web01 nginx-1.6.3]# echo $? #查看是否成功,0则为成功
0
[root@web01 nginx-1.6.3]# make install #编译安装
[root@web01 nginx-1.6.3]# ln -s /application/nginx-1.6.3/ /application/nginx #创建软链接
[root@web01 nginx-1.6.3]# /application/nginx/sbin/nginx -t #查看语法是否正确,ok则为正确
[root@web01 nginx-1.6.3]# /application/nginx/sbin/nginx #启动nginx
[root@web01 nginx-1.6.3]# netstat -lntup|grep 80 #查看nginx对应端口是否启动
[root@web01 nginx-1.6.3]# lsof -i :80 #查看nginx对应端口是否启动
本地浏览器打开网页,输入web01的IP地址查看是否成功:
查看错误日志:
[root@web01 nginx-1.6.3]# cat /application/nginx/logs/error.log
[root@web01 nginx-1.6.3]# cat /var/crom
预编译出现的错误一:
--with-http_ssl_module --prefix=/application/nginx-1.6.3/
./configure: error: SSL modules require the OpenSSL library. #出现报错信息,OpenSSL没有安装
解决方法:
[root@web01 nginx-1.6.3]# yum install openssl openssl-devel -y #安装OpenSSL
预编译出现的错误二:
+ perl version: v5.10.1 (*) built for x86_64-linux-thread-multi
Can't locate ExtUtils/Embed.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .).
BEGIN failed--compilation aborted.
./configure: error: perl module ExtUtils::Embed is required #报错perl有两种方法,一种是直接在配置文件写,还有一种是把perl脚本写在外部文件中
解决方法:
[root@web01 nginx-1.6.3]# yum install perl perl-devel perl-ExtUtils-Embed -y #安装perl
使用rpm安装nginx:
1.下载nginx的rpm包
wget -q http://nginx.org/packages/rhel/6/x86_64/RPMS/nginx-1.8.0-1.el6.ngx.x86_64.rpm
2.安装rpm包
rpm -ivh nginx-1.8.0-1.el6.ngx.x86_64.rpm
3.安装nginx
yum install nginx
Web客户端排错三步曲:
第一步:在客户端上ping服务器端IP,命令如下
ping 10.0.0.8 #排除物理线路问题影响
第二步:在客户端上telnet服务器端IP、端口,命令如下
telnet 10.0.0.8 80 #排除防火墙等的影响
第三步:在客户端使用wget命令检查,命令如下
wget 10.0.0.8 (curl -I 10.0.0.8)#模拟用户访问,排除http服务自身问题,根据输出再排错