安装nginx服务实战

简介:

nginx是一个开源的、支持高性能、高并发的www服务和代理服务软件。nginx不但是一个优秀的web服务软件,还可以具有反向代理负载均衡和缓存服务功能,在反向代理负载均衡功能方面,它类似于大名鼎鼎的LVS负责均衡以及haproxy专业代理软件,但是nginx部署起来更为简单,方便;在缓存服务功能方面,它有类似于squid等专业的缓存服务软件。


反向代理或负责均衡服务。

在反向代理或负载均衡服务方面,nginx可以作为web服务、PHP等登台服务及memcached缓存的代理服务器,它具有类似专业反向代理软件(haproxy)的功能,同事也是一个优秀的邮件代理服务软件(最早开发这个产品的的目的之一也是作为邮件代理服务),但是nginx的代理功能还是相对简单了些,特别是不支持tcp的代理,nginx1.9.0已发布,已开始支持tcp的代理了,nginx的代理功能也在逐渐增强。


linux中软件安装方法:

1 rpm -ivh 包名.rpm

    有依赖问题,安装A,A需要先安装B,B先安装C等。

2 yum安装,yum包管理器,yum安装解决rpm安装的依赖问题,安装更简单化。

    优点:简单,易用,高效

    缺点:不能定制

    centos切换在线yum源地址为aliyun地址方法:

wKioL1mX1eLg5jgRAAI4APyJ76M942.jpg

wKiom1mX1e3TdnGiAAJjyHkW09o015.jpg

        复制对应版本的切换命令,在centos中输入切换命令即可:

[root@web01 tools]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo

3 编译(c语言源码-编译二进制等)

    ./configure(配置过程),make(编译),make install(安装)

    优点:可以定制

    缺点:复杂,效率低。

4 定制制作rmp包,搭建yum仓库,把定位的rpm包放到yum仓库,进行yum安装

    优点:结合了2的优点和3的优点

    缺点:复杂。


开始安装nginx

编译安装(本文是nginx编译安装方法)

到目前为止,还未发现操作系统ISO镜像自带或默认情况yum可以直接通过rpm包方法安装nginx的情况。如果需要使用yum安装nginx,则需要配置epel yum源或者去官方寻找。接下来重点讲nginx的编译方式安装,如果是大规模的安装,可以先根据自身的业务需求定制好rpm包,然后放到yum仓库里通过yum来安装,有关rpm包定制及yum仓库搭建请看博客:http://user.qzone.qq.com/49000448/blog/1426987479


在web01服务器上面安装

1)安装nginx所需的pcre库

    pcre(perl兼容正则表达式),安装pcre库是为了使nginx具备URL重写功能的Rewrite模块,如果不安装pcre库,则nginx无法使用rewrite模块功能,nginx的rewrite模块功能几乎是企业应用必须。安装pcre库的过程如下:

    1.1    当前linux系统环境如下:

        

1
2
3
4
5
6
[root@web01 ~] # cat /etc/redhat-release 
CentOS release 6.8 (Final)
[root@web01 ~] # uname -r
2.6.32-642.el6.x86_64
[root@web01 ~] # uname -m
x86_64

    1.2    操作命令如下:

        采用yum安装方式安装pcre(推荐方法),命令如下

1
2
3
4
5
6
[root@web01 ~] # yum install pcre pcre-devel -y
#如下是yum安装操作后检查安装结果
[root@web01 ~] # rpm -qa pcre pcre-devel
pcre-7.8-7.el6.x86_64
pcre-devel-7.8-7.el6.x86_64
提示:yum安装的pcre版本有些低,不过一般情况不影响使用。

    1.3    安装nginx

        nginx的英文官网网站是http://nginx.org ,从这里可以查看nginx的各个软件版本信息。nginx软件有三种版本:稳定版,开发版和历史稳定版本。开发版本更新较快,包含最新的功能和bug的修复,但同时也可能遇到新的bug,开发版的更新一旦稳定下来,就会被纳入稳定版中。但是,有些新功能不会被加到旧的稳定版本中去,稳定版本的更新较慢,但是软件bug也会较少,可以作为企业生产环境的首选,因此通畅建议选择使用稳定版。当然,在实际工作中,选择稳定版本时,也尽量别去用最新的稳定版,建议比已出来的最新版晚6-10个月的稳定版比较好,本文中选择稳定版本nginx-1.6.3 stable

        nginx的安装非常简答,具体操作过程如下:

    打开nginx官网:http://nginx.org 选择稳定版本1.6.6,右键属性复制下载链接:

wKiom1mX1CXhCQ_uAAP_9o8PGzQ295.jpg

wKioL1mX1CiRRALHAAKiS_nthwc957.jpg

 

        

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
[root@web01 tools] # cd /home/oldboy/tools  #切换到tools目录下
[root@web01 tools] # pwd
/home/oldboy/tools
如下是下载nginx1.6.3 wget -q就是不显示下载
[root@web01 tools] # wget -q 
然后 ls 查看下是否下载完成
[root@web01 tools] # ls
nginx-1.6.3. tar .gz
查看文件有多大?才787K
[root@web01 tools] # ls -hil
total 788K
261196 -rw-r--r-- 1 root root 787K Apr  8  2015 nginx-1.6.3. tar .gz
如下是解压,xf最简化的,以前使用zxvf
[root@web01 tools] # tar xf nginx-1.6.3.tar.gz
 
[root@web01 tools] # cd nginx-1.6.3
[root@web01 nginx-1.6.3] # ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE   man   README  src
查看yum官网有没有提供nginx安装包:
[root@web01 nginx-1.6.3] # yum list|grep nginx
pcp-pmda-nginx.x86_64                      3.10.9-9.el6                  base  
如上查看没有nginx包

        查看配置过程

1
[root@web01 nginx-1.6.3] # ./configure --help

        如下修改配置过程(未涉及安装)

1
[root@web01 nginx-1.6.3] # ./configure --user=www --group=www --with-http_ssl_module --with-http_sub_modulehttp_sub_module --prefix=/application/nginx-1.6.3/

        上面修改配置会提示有个软件没有安装

1
2
3
4
. /configure : error: SSL modules require the OpenSSL library.
You can either  do  not  enable  the modules, or  install  the OpenSSL library
into the system, or build the OpenSSL library statically from the  source
with nginx by using --with-openssl=<path> option.

        安装openssl软件:

1
[root@web01 nginx-1.6.3] # yum install openssl openssl-devel -y

        

        新建虚拟用户:

1
[root@web01 nginx-1.6.3] # useradd www -s /sbin/nologin -M

        继续运行配置文件:

1
[root@web01 nginx-1.6.3] # ./configure --user=www --group=www --with-http_ssl_module --with-http_sub_module --prefix=/application/nginx-1.6.3/

        查看配置是否成功,看上面运行配置文件的结果,如果一眼看不出来就echo $?返回值为0代表nginx配置成功了。

1
2
[root@web01 nginx-1.6.3] # echo $?
0

        然后执行make(编译nginx)

1
[root@web01 nginx-1.6.3] # make

        继续执行make install (安装nginx)

1
[root@web01 nginx-1.6.3] # make install

        创建软链接:

1
[root@web01 nginx-1.6.3] # ln -s /application/nginx-1.6.3/ /application/nginx

        这样工作中使用的就时nginx 访问到的是nginx-1.6.3,后期nginx-1.6.3升级,直接把软链接删除,重新再创建一个nginx软链接即可。

1
2
[root@web01 nginx-1.6.3] # ll /application/nginx
lrwxrwxrwx 1 root root 25 Aug 19 14:50  /application/nginx  ->  /application/nginx-1 .6.3/
1
2
[root@web01 nginx-1.6.3] # ll /application/nginx
lrwxrwxrwx 1 root root 25 Aug 19 14:50  /application/nginx  ->  /application/nginx-1 .6.3/
1
2
3
4
[root@web01 nginx-1.6.3] # ll /application/
total 4
lrwxrwxrwx 1 root root   25 Aug 19 14:50 nginx ->  /application/nginx-1 .6.3/
drwxr-xr-x 6 root root 4096 Aug 19 14:47 nginx-1.6.3


        安装完成后启动nginx,如果没有反应就是启动成功。

1
[root@web01 nginx-1.6.3] # /application/nginx/sbin/nginx

        查看www默认端口

1
2
3
4
5
6
[root@web01 nginx-1.6.3] # netstat -lntup|grep 80
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      5103 /nginx          
[root@web01 nginx-1.6.3] # lsof -i :80
COMMAND  PID USER   FD   TYPE DEVICE SIZE /OFF  NODE NAME
nginx   5103 root    6u  IPv4  18400      0t0  TCP *:http (LISTEN)
nginx   5104  www    6u  IPv4  18400      0t0  TCP *:http (LISTEN)

        web服务器地址:

1
2
3
4
5
6
7
8
9
[root@web01 nginx-1.6.3] # ifconfig eth0
eth0      Link encap:Ethernet  HWaddr 00:0C:29:79:73:42  
           inet addr:10.0.0.8  Bcast:10.0.0.255  Mask:255.255.255.0
           inet6 addr: fe80::20c:29ff:fe79:7342 /64  Scope:Link
           UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
           RX packets:9081 errors:0 dropped:0 overruns:0 frame:0
           TX packets:6119 errors:0 dropped:0 overruns:0 carrier:0
           collisions:0 txqueuelen:1000 
           RX bytes:9627625 (9.1 MiB)  TX bytes:563049 (549.8 KiB)

客户端输入地址10.0.0.8出现nginx欢迎界面表示nginx安装成功:

wKiom1mX5jjgdQtxAAG1CwZAy-4516.jpg



安装步骤:

wKiom1mX52KjGe_MAACw25PZPiA871.jpg

本文转自sandshell博客51CTO博客,原文链接http://blog.51cto.com/sandshell/1957612如需转载请自行联系原作者


sandshell

相关文章
|
25天前
|
运维 前端开发 应用服务中间件
LNMP详解(八)——Nginx动静分离实战配置
LNMP详解(八)——Nginx动静分离实战配置
28 0
|
24天前
|
运维 负载均衡 应用服务中间件
LNMP详解(九)——Nginx虚拟IP实战
LNMP详解(九)——Nginx虚拟IP实战
35 2
|
1天前
|
负载均衡 前端开发 应用服务中间件
Nginx安装与使用
Nginx安装与使用
|
1天前
|
负载均衡 Java 应用服务中间件
nginx安装在linux上
nginx安装在linux上
17 2
|
8天前
|
应用服务中间件 nginx
yum 安装报错 No package nginx available Error:Nothing to do
yum 安装报错 No package nginx available Error:Nothing to do
21 1
|
28天前
|
应用服务中间件 Linux PHP
Linux下安装php环境并且配置Nginx支持php-fpm模块
Linux下安装php环境并且配置Nginx支持php-fpm模块
29 0
|
29天前
|
前端开发 应用服务中间件 网络安全
http转为https,ssl证书安装及nginx配置
http转为https,ssl证书安装及nginx配置
47 1
|
1月前
|
应用服务中间件 nginx
Nginx中如何配置中文域名?
Nginx中如何配置中文域名?
45 0
|
24天前
|
前端开发 应用服务中间件 nginx
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
Nginx配置详解Docker部署Nginx使用Nginx部署vue前端项目
99 0
|
22小时前
|
前端开发 JavaScript 应用服务中间件
前端vue2、vue3去掉url路由“ # ”号——nginx配置(二)
前端vue2、vue3去掉url路由“ # ”号——nginx配置
13 0