您的位置:首页 > 运维架构 > Nginx

nginx服务器详细安装过程(使用yum 和 源码包两种安装方式,并说明其区别)

2018-04-04 14:55 681 查看

yum 和 源码包 安装的 区别

这里先说明下 

yum
 和 
源码包
 安装的 区别:

yum
 安装是在线安装,好处是:安装方式简单,不易出错;
源码包
 安装是先将 
nginx
 的源码下载下来,在自己的系统里编译生成可执行文件,然后执行,好处是:因为是在自己的系统上编译的,更符合自己系统的性能,也就是说在自己的系统上执行 
nginx
 服务性能效率更好。

安装路径不同

他们之间最大的区别是 :

安装位置不同

yum
 在线安装会将 
nginx
 的安装文件放在系统的不同位置,可以通过命令 
rpm -ql nginx
 来查看安装路径,如下所示:

➜  ~ rpm -ql nginx
/etc/logrotate.d/nginx
/etc/nginx
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
/etc/nginx/conf.d/ssl.conf
/etc/nginx/conf.d/virtual.conf
/etc/nginx/fastcgi.conf
/etc/nginx/fastcgi.conf.default
/etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params.default
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/mime.types.default
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
/etc/nginx/scgi_params
/etc/nginx/scgi_params.default
/etc/nginx/uwsgi_params
/etc/nginx/uwsgi_params.default
/etc/nginx/win-utf
/etc/rc.d/init.d/nginx
/etc/sysconfig/nginx
/usr/lib/perl5/vendor_perl/auto/nginx
/usr/lib/perl5/vendor_perl/auto/nginx/nginx.so
/usr/lib/perl5/vendor_perl/nginx.pm
/usr/sbin/nginx
/usr/share/doc/nginx-1.0.15
/usr/share/doc/nginx-1.0.15/CHANGES
/usr/share/doc/nginx-1.0.15/LICENSE
/usr/share/doc/nginx-1.0.15/README
/usr/share/man/man3/nginx.3pm.gz
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx/html/404.html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/usr/share/nginx/html/nginx-logo.png
/usr/share/nginx/html/poweredby.png
/usr/share/vim/vimfiles/ftdetect/nginx.vim
/usr/share/vim/vimfiles/indent/nginx.vim
/usr/share/vim/vimfiles/syntax/nginx.vim
/var/lib/nginx
/var/lib/nginx/tmp
/var/log/nginx

卸载的时候,只能通过 命令来卸载,因为我们不可能 将这些文件自己手动删除,可以通过命令 

rpm -e nginx
 来卸载,这个命令一般不会报错,因为 
nginx
 不与其他的包有依赖关系,如果提示关于 依赖包的问题 ,可以尝试 
rpm -e --nodeps nginx
 来卸载,这个命令相当于强制卸载,不考虑依赖问题。

源码包
 安装他的所有文件(包括配置文件,库文件,资源文件等)都在同一个目录下,我们想卸载的时候,直接将这个文件删除就可以,不会有任何垃圾文件存在。
通过
源码包
编译安装的软件,通常都放在 
/usr/local/包名
 路径下。

启动方式不同

yum
 安装 
nginx
,我们可以通过 系统服务命令 
service
 来启动或停止

service nginx start        #启动 nginx 服务
service nginx stop         #停止 nginx 服务
service nginx restart      #重启 nginx 服务

源码包
 安装 
nginx
 启动的时候不能使用 
service
 来启动,需要执行 
nginx
 安装目录下的 
sbin
 目录下的 
nginx
 可执行程序才行,如下(我的 
nginx
 安装在 
/usr/local/webserver/
 目录下)

➜  ~ /usr/local/webserver/nginx/sbin/nginx               #启动 nginx 服务
➜  ~ /usr/local/webserver/nginx/sbin/nginx -s stop       #停止 nginx 服务

或者 直接进入安装目录 ,执行 

./nginx
 也可以,这两种方式其实是一样的,
.
 表示当前目录

➜  ~ cd /usr/local/webserver/nginx/sbin 
➜  sbin ls
nginx
➜  sbin ./nginx           #启动 nginx 服务
➜  sbin ./nginx -s stop   #停止 nginx 服务

注意:在自己的系统中只用选择一种安装方式即可,yum 安装的 nginx 版本可能不是最新的,可以通过 源码包 安装最新的,但系统中只要一种就可以,如果你想安装两个安装也可以,但是他们监听的端口都是 80 端口,每次只能启动一个

好,先讲了区别,下面来看一下安装方式

yum 安装 nginx

安装

使用 

yum
 安装是在线安装,直接使用命令 
yum -y install nginx
 安装即可

➜  ~ yum -y install nginx
已加载插件:fastestmirror, security
设置安装进程
Loading mirror speeds from cached hostfile
解决依赖关系
--> 执行事务检查
---> Package nginx.i686 0:1.0.15-12.el6 will be 安装
--> 完成依赖关系计算

依赖关系解决

========================================================================================================================================
 软件包                        架构                         版本                                     仓库                          大小
========================================================================================================================================
正在安装: nginx                         i686                         1.0.15-12.el6                            epel                         410 k事务概要
========================================================================================================================================Install       1 Package(s)

总下载量:410 k
Installed size: 1.1 M
下载软件包:
nginx-1.0.15-12.el6.i686.rpm                                                                                     | 410 kB     00:00     
运行 rpm_check_debug 
执行事务测试
事务测试成功
执行事务
Warning: RPMDB altered outside of yum.  正在安装   : nginx-1.0.15-12.el6.i686                                                                                             1/1   Verifying  : nginx-1.0.15-12.el6.i686                                                                                             1/1 已安装:  nginx.i686 0:1.0.15-12.el6                                                                                                            完毕!

到这里就安装完成了,是不是很简单。

启动 nginx 服务

➜  ~ service nginx start
Starting nginx:                                            [  OK  ]

停止 nginx 服务

➜  ~ service nginx stop 
Stopping nginx:                                            [  OK  ]

重启 nginx 服务

➜  ~ service nginx restart
Stopping nginx:                                            [  OK  ]
Starting nginx:                                            [  OK  ]

启动后 ,在浏览器中 输入服务器的 ip 地址,就可以看到

到这里 

yum
 安装 
nginx
 就完成了

源码包 安装 nginx

安装编译

我的系统 

centos 6.7 32位
,首先安装缺少的依赖包:

yum -y install gcc gcc-c++ make libtool zlib zlib-devel openssl openssl-devel pcre pcre-devel

从 http://nginx.org/en/download.... 下载稳定版 nginx-1.10.1.tar.gz ,下载的压缩文件 放在任意地方都可以,但是建议放在 

/usr/local/src
 或者 
/root/
 下,
/usr/local/src
 就是系统专门给用户分配的放 源码的目录,
/root/
 是我们默认操作的目录,所以也可以放在这里。我就是下载放在 
/root/
 目录下的。

下载可以通过命令获取:

wget http://nginx.org/download/nginx-1.10.1.tar.gz

解压缩:

tar -zxvf nginx-1.10.1.tar.gz

解压缩后,可以看到 

nginx-1.10.1
 目录,然后进入这个目录

➜  ~ ls
anaconda-ks.cfg  install.log  install.log.syslog  nginx-1.10.1  nginx-1.10.1.tar.gz 
➜  ~ cd nginx-1.10.1

在 

nginx-1.10.1 
目录下执行 配置 和 make 命令

➜  nginx-1.10.1   ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre

➜  nginx-1.10.1   make && make install

常用编译选项说明

这段说明,参考自:https://segmentfault.com/a/11...

  • --prefix=PATH
     : 指定 
    nginx
     的安装目录。默认 
    /usr/local/nginx
    ,我的是 
    /usr/local/webserver/nginx

  • --conf-path=PATH
     : 设置
    nginx.conf
    配置文件的路径。
    nginx
    允许使用不同的配置文件启动,通过命令行中的
    -c
    选项。默认为
    conf/nginx.conf

  • --user=name
     : 设置
    nginx
    工作进程的用户。安装完成后,可以随时在
    nginx.conf
    配置文件更改
    user
    指令。默认的用户名是
    nobody
    --group=name
    类似

  • --with-pcre
     : 设置PCRE库的源码路径,如果已通过yum方式安装,使用--with-pcre自动找到库文件。使用
    --with-pcre=PATH
    时,需要从PCRE网站下载pcre库的源码(8.39)并解压,指定 
    pcre
     的源码路径 ,比如:
    --with-pcre=/root/pcre-8.39/
    。perl正则表达式使用在
    location
    指令和 
    ngx_http_rewrite_module
    模块中。

  • --with-zlib=PATH
     : 指定 
    zlib
    (版本1.1.3 - 1.2.5)的源码解压目录。在默认就启用的网络传输压缩模块
    ngx_http_gzip_module
    时需要使用zlib 。

  • --with-http_ssl_module
     : 使用
    https
    协议模块。默认情况下,该模块没有被构建。前提是
    openssl
    openssl-devel
    已安装

  • --with-http_stub_status_module
     : 用来监控 
    Nginx
     的当前状态

  • --with-http_realip_module
     : 通过这个模块允许我们改变客户端请求头中客户端
    IP
    地址值(例如
    X-Real-IP
     或 
    X-Forwarded-For
    ),意义在于能够使得后台服务器记录原始客户端的
    IP
    地址

  • --add-module=PATH
     : 添加第三方外部模块,如
    nginx-sticky-module-ng
    或缓存模块。每次添加新的模块都要重新编译(
    Tengine
    可以在新加入
    module
    时无需重新编译)

启动 停止 nginx

使用 

源码包
 安装 
nginx
 ,启动时需要使用绝对路径来执行,如下:

➜  ~ /usr/local/webserver/nginx/sbin/nginx           #启动 nginx 服务
➜  ~ /usr/local/webserver/nginx/sbin/nginx -s stop   #停止 nginx 服务

启动 

nginx
 服务后,可以通过 
ps -aux | grep nginx
 查看进程

➜  ~ /usr/local/webserver/nginx/sbin/nginx           #启动 nginx 服务
➜  ~ ps -aux | grep nginx
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root      9628  0.0  0.1  15292  1500 ?        Ss   11:17   0:00 nginx: master process /usr/sbin/nginx -c /etc/nginx/nginx.conf
nginx     9631  0.0  0.2  15448  2312 ?        S    11:17   0:00 nginx: worker process                   
root     13158  0.0  0.0   6048   788 pts/1    S+   12:12   0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn nginx

启动后 ,在浏览器中 输入服务器的 ip 地址,就可以看到

到这里 

源码包
 安装 
nginx
 就完成了

可以看出 两个欢迎页面是不同的,这个主要是版本不同的原因。

结语

原文转载: https://segmentfault.com/a/1190000007116797

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  centos nginx
相关文章推荐