nginx安装编译安装和yum安装

nginx

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,。其特点是占有内存少,并发能力强,处理静态请求的能力在众多的http service中算是佼佼者了,特别适用于访问量大,并发量高的网站。nginx本事只能处理静态的网页,如需要处理动态的网页需要借助其它的插件,或者应用容器:比如Tomcat,django...

在生产环境中,它一般不会作为主要的应用服务器,一般会作为用户访问的一个入口,接收用户的请求,通过反向代理把请求交给后端的应用服务器去处理。还可作动静分离,因为nginx处理静态网页的能力非常强,可以把静态的请求交给nginx,动态的请求交给处理动态网页的应用服务器。

一:nginx yum安装:

1、首先确保服务器连接网络:

[[email protected] ~]# ping bing.com -c 4
PING bing.com (204.79.197.200) 56(84) bytes of data.
64 bytes from a-0001.a-msedge.net (204.79.197.200): icmp_seq=1 ttl=111 time=39.9 ms
64 bytes from a-0001.a-msedge.net (204.79.197.200): icmp_seq=2 ttl=111 time=39.4 ms
64 bytes from a-0001.a-msedge.net (204.79.197.200): icmp_seq=3 ttl=111 time=39.9 ms
64 bytes from a-0001.a-msedge.net (204.79.197.200): icmp_seq=4 ttl=111 time=39.4 ms

2、设置yum源码:

使用官方的yum源:   www.nginx.org

baseurl根据你的操作系统版本号写入:我的操作系统是centos/6版本

[[email protected] ~]# vi /etc/yum.repos.d/nginx.repo

[[email protected] ~]# cat /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1

3、 yum安装nginx:

[[email protected] ~]# yum -y install nginx
##自动从nginx官网下载安装

4、nginx的配置文件:

nginx的主配置文件默认在/etc/nginx/nginx.conf

nginx的网页根目录默认在/usr/share/nginx/html/

[[email protected] ~]# rpm -qal |grep nginx   ##查看所有nginx的相关文件
/etc/logrotate.d/nginx
/etc/nginx
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
/etc/nginx/fastcgi_params
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/modules
/etc/nginx/nginx.conf
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
/etc/nginx/win-utf
/etc/rc.d/init.d/nginx
/etc/rc.d/init.d/nginx-debug
/etc/sysconfig/nginx
/etc/sysconfig/nginx-debug
/usr/lib64/nginx
/usr/lib64/nginx/modules
/usr/sbin/nginx
/usr/sbin/nginx-debug
/usr/share/doc/nginx-1.12.1
/usr/share/doc/nginx-1.12.1/COPYRIGHT
/usr/share/man/man8/nginx.8.gz
/usr/share/nginx
/usr/share/nginx/html
/usr/share/nginx/html/50x.html
/usr/share/nginx/html/index.html
/var/cache/nginx
/var/log/nginx

5、启动nginx服务:

[[email protected] ~]# /etc/init.d/nginx start
正在启动 nginx:                                           [确定]
##查看监听端口,默认监听80端口
[[email protected] ~]# netstat -utpln |grep nginx
tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      16720/nginx

6、访问测试:

linux下测试:

[[email protected] ~]# elinks --dump 192.168.100.150
                               Welcome to nginx!
   If you see this page, the nginx web server is successfully installed and
   working. Further configuration is required.
   For online documentation and support please refer to [1]nginx.org.
   Commercial support is available at [2]nginx.com.
   Thank you for using nginx.
References
   Visible links
   1. http://nginx.org/
   2. http://nginx.com/

windows下访问:



二:编译安装nginx:

1、获取nginx源码包:

在官网下载指定版本的nginx源码包    http://nginx.org/download/

[[email protected] ~]# wget http://nginx.org/download/nginx-1.6.3.tar.gz
--2017-08-29 19:34:13--  http://nginx.org/download/nginx-1.6.3.tar.gz
正在解析主机 nginx.org... 95.211.80.227, 206.251.255.63, 2001:1af8:4060:a004:21::e3, ...
正在连接 nginx.org|95.211.80.227|:80... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:805253 (786K) [application/octet-stream]
正在保存至: “nginx-1.6.3.tar.gz”
。。。。。。
2017-08-29 19:34:30 (47.5 KB/s) - 已保存 “nginx-1.6.3.tar.gz” [805253/805253])
[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  nginx-1.6.3.tar.gz

2、解压源码包:

[[email protected] ~]# tar zxf nginx-1.6.3.tar.gz
    #查看解药后的源码 
[[email protected] ~]# ls
anaconda-ks.cfg  install.log  install.log.syslog  nginx-1.6.3  nginx-1.6.3.tar.gz
[[email protected] ~]# cd nginx-1.6.3
[[email protected] nginx-1.6.3]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src

3、创建用户:

[[email protected] ~]# useradd -M -s /sbin/nologin nginx

[[email protected] ~]# id nginx
uid=500(nginx) gid=500(nginx) 组=500(nginx)

4、安装依赖包:

yum -y install pcre-devel

5、编译安装:

编译时候可以加载模块实现对应的功能,模块功能:

以下介绍引用自:http://www.cnblogs.com/liangml/p/5972470.html

1.通用配置选项:
   --prefix=<path>          指定Nginx的安装路径,所有其他的路径都要依赖于该选项
   --sbin-path=<path>       指定Nginx二进制文件的路径。如果没有指定,那么这个路径将依赖于--prefix选项
   --conf-path=<path>       指定Nginx的配置文件的路径,如果在命令行没有指定配置文件,那么将会通过这里指定路径。
   --error-log-path=<path>  指定错误日志文件路径,Nginx将会往里面写入错误日志文件,除非有其它的配置。
   --pid-path=<path>        指定的Nginx master进程的PID文件位置,通常在/var/run下
   --lock-path=<path>       共享存储器互斥锁文件的路径
   --user=<user>            worker进程运行的用户
   --group=<group>          worker进程运行的组
   --with-file-aio.         为FreeBSD4.3 +和linux 2.6.22 +系统启用异步I/O
   --with-debug             这个选项用于启用调试日志,在生产环境的系统中不推荐使用
2. 邮件代理的配置选项:
   --with-mail              该选项用于启用Mail模块,该模块默认没有被激活
   --with-mail_ssl_module   为了代理任何一种类型的使用SSL/TLS的Mail,激活该模块
   --without-mail_pop3_module  在启用Mail模块后,单独地禁用pop3模块
   --without-mail_imap_module  再启用mail模块后,单独地禁用IMAP模块
   --without-mail_smtp_module  在启用mail模块后,单独地禁用smtp模块
   --without--http           该选项将完全禁用http模块,如果你只想支持
3. 指定路径的配置选项:
   --without-http_perl_module  Nginx配置能够使用扩展使用Perl代码,这个选项启用这个模块(此模块会降低性能)
   --without-perl_module_path=<path> 对于额外嵌入的Perl模块,使用该选项指定该Perl解析器的路径,也可以通过配置选项来指定Perl模块解析器的位置
   --without—perl=<path>    如果在默认路径中没有找到Perl,那么指定Perl的路径
   --http-log-path=<path>    Http访问日志的默认路径
   --http-client-body-temp-path=<path>  从客户端收到请求后,该选项设置的目录用于作为请求体临时存放的目录。如果WebDAV模块启用,那么推荐设置该路径为同一文件系统上的目录作为最终的目的地
   --http-proxy-temp-path=<path>  在使用代理后,通过该选项设置存放临时文件路径
   --http-fastcgi-temp-path=<path> 设置FastCGI临时文件的目录
   --http-uwsgi-temp-path=<path>   设置uWSGI临时文件的目录
   --http-scgi-temp-path=<path>    设置SCGI临时文件的目录
4.  各种模块配置选项:
   --with-http_ssl_module     如果需要对流量进行加密,可以使用该选项,在URLs中开始部分将会是https(需要OpenSSL库)
   --with-http_realip_module  如果你的Nginx在七层负载均衡器或者是其他设备之后,它们将http头中的客户端IP地址传递,那么你将会需要启用这个模块。在多个客户处于一个IP地址的情况下使用
   --with-http_addition_module 这个模块作为输出过滤器,使你能够在请求经过一个location前或者后时在该location本身添加内容
   --with-http_xslt_module    该模块用于处理XML响应转换,基于一个或者多个XSLT格式(需要libxml2和libxslt库)
   --with-http_image_filter_module  该模块被作为图像过滤器使用,在将图形投递到客户之前进行处理(需要libgd库)
   --with-http_geoip_module    使用该模块,能够设置各种变量以便在配置文件中区段使用,基于地理位置查找客户端IP地址(需要MaxMfind GeoIP库和相应的预编译数据库文件)
   --with-http_sub_module      该模块实现了替代过滤,在响应中用一个字符串替代另一个字符串
   --with-http_dav_module      启用这个模块将激活使用WebDAV的配置指令。注意:这个模块也只在有需要使用的基础上启用,如果配置不正确,它将带来安全问题。
   --with-http_flv_module      如果需要提供Flash流媒体视频文件,那么该模块将会提供伪流媒体
   --with-http_mp4_module      这个模块支持H.264/AAC文件伪流媒体
   --with-http_gzip_module     当被调用的资源没有.gz结尾格式的文件时,如果想支持发送预压缩版本的静态文件,那么使用该模块
   --with-http_gunzio_module   对应不支持gzip编码的客户,该模块用于为客户解压缩预压缩内容
   --with-http_random_index_module 如果你想提供从一个目录中随机选择文件的索引文件,那么这个模块需要被激活
   --with-http_secure_link_module  该模块提供了一个机制,它会将一个哈希值链接到一个URL中,因此,只有那些使用正确的密码能够计算链接
   --with-http_stub_status_module  启用这个模块后会收集Nginx自身的状态信息。输出的状态信息可以使用RRDtool或类似的东西来绘制成图

指定安装目录,指定运行nginx的用户和组,加载模块实现功能,我在这里就加载模块了

[[email protected] ~]# cd nginx-1.6.3
[[email protected] nginx-1.6.3]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
[[email protected] nginx-1.6.3]# make &&make install

nginx安装目录下分别是nginx的配置文件目录  网页根目录 日志目录  运行命令目录

[[email protected] ~]# ls /usr/local/nginx/
conf  html  logs  sbin

6、优化nginx管理:

nginx的启动文件在/usr/local/nginx/sbin/下,

[[email protected] ~]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
#给nginx命令目录作连接到系统变量里,这样在任何位置都可以执行nginx的命令了。

[[email protected] ~]# nginx -h    ##nginx 命令用法帮助

nginx version: nginx/1.6.3
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]
Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /usr/local/nginx/)
  -c filename   : set configuration file (default: conf/nginx.conf)
  -g directives : set global directives out of configuration file

作以上操作就是为了实现将下面一条命令,简化为一个命令

[[email protected] ~]# /usr/local/nginx/sbin/nginx
[[email protected] ~]# nginx

7、启动nginx并测试:

[[email protected] ~]# elinks --dump 192.168.100.150
                               Welcome to nginx!
   If you see this page, the nginx web server is successfully installed and
   working. Further configuration is required.
   For online documentation and support please refer to [1]nginx.org.
   Commercial support is available at [2]nginx.com.
   Thank you for using nginx.
References
   Visible links
   1. http://nginx.org/
   2. http://nginx.com/

8、关闭nginx:

nginx编译没有自带关闭的程序,

可以使用kill + nginx的pid号: 先查看nginx的pid号,然后kill 杀掉查到的nginx的主进程和工作进程的pid

[[email protected] ~]# ps aux |grep nginx
root     22012  0.0  0.1  24260   784 ?        Ss   20:11   0:00 nginx: master process nginx
nginx    22013  0.0  0.2  24684  1368 ?        S    20:11   0:00 nginx: worker process
root     22015  0.0  0.1 103248   872 pts/0    S+   20:11   0:00 grep nginx
[[email protected] ~]# kill -9 22012 22013
[[email protected] ~]# ps aux |grep nginx
root     22017  0.0  0.1 103248   872 pts/0    S+   20:11   0:00 grep nginx

使用killall nginx 结束nginx所有进程

[[email protected] ~]# nginx 
[[email protected] ~]# ps aux |grep nginx
root     22019  0.0  0.1  24260   784 ?        Ss   20:12   0:00 nginx: master process nginx
nginx    22020  0.0  0.2  24684  1368 ?        S    20:12   0:00 nginx: worker process
root     22022  0.0  0.1 103248   872 pts/0    S+   20:12   0:00 grep nginx
[[email protected] ~]# killall nginx
[[email protected] ~]# ps aux |grep nginx
root     22025  0.0  0.1 103248   868 pts/0    S+   20:12   0:00 grep nginx

9、编写脚本,管理nginx启动、关闭、重启、重读配置、查看状态等操作

[[email protected] ~]# vi /etc/init.d/nginx
#!/bin/bash
# chkconfig: - 99 20
# description: Nginx Server Control Script
NP="/usr/local/nginx/sbin/nginx"
NPF="/usr/local/nginx/logs/nginx.pid"
case "$1" in 
  start)
    $NP;
    if [ $? -eq 0 ] 
    then
      echo "nginx is starting!! "
    fi
  ;;
  stop)
    kill -s QUIT $(cat $NPF)
    if [ $? -eq 0 ]
    then
    echo "nginx is stopping!! "
    fi
  ;;
  restart)
    $0 stop
    $0 start
  ;;
  reload)
    kill -s HUP $(cat $NPF)
    if [ $? -eq 0 ]
    then
      echo "nginx config file is reload! "
    fi
  ;;
  *)
    echo "Usage: $0 {start|stop|restart|reload}"
    exit 1
esac
exit 0

授与执行权限,添加到系统服务

[[email protected] ~]# chmod +x /etc/init.d/nginx 
[[email protected] ~]# chkconfig --add nginx

测试脚本。

(在使用脚本的时候,必须要合法,比如说nginx未启动才能启动,nginx启动了才能重启,要不然会报错误。)

[[email protected] ~]# /etc/init.d/nginx start
nginx is starting!! 
[[email protected] ~]# /etc/init.d/nginx stop
nginx is stopping!! 
[[email protected] ~]# /etc/init.d/nginx start
nginx is starting!! 
[[email protected] ~]# /etc/init.d/nginx restart
nginx is stopping!! 
nginx is starting!! 
[[email protected] ~]# /etc/init.d/nginx reload
nginx config file is reload!


END

时间: 2024-10-10 10:49:22

nginx安装编译安装和yum安装的相关文章

轻松安装,自建yum安装源

suse是不用yum的,不过貌似有个同样功能的,忘记是什么来着.先说说linux的软件,linux的软件分为,已经编译好的RPM文件和未编译的SRC RPM文件和源码文件.已经编译好的RPM文件是别人已经预先编译好的,已经规定好安装内核版本的RPM.这里主要讲的是这个,下面详解. 未编译的RPM文件是需要rpmbuild --rebuild来进行编译的,这类RPM一般会有典型的SRC字样.这类RPM的优点是,没有编译,可以不限内核和系统,用的时候再编译,缺点就是经常有缺少关联关系文件的烦心事,得

centos 安装卸载软件命令 &amp; yum安装LAMP环境

安装一个软件时 yum -y install httpd 安装多个相类似的软件时 yum -y install httpd* 安装多个非类似软件时 yum -y install httpd php php-gd mysql 卸载一个软件时 yum -y remove httpd 卸载多个相类似的软件 yum -y remove httpd* 卸载多个非类似软件时 yum -y remove httpd php php-gd mysql===============================

Linux下安装java及配置(yum安装)

1.查看java的所有版本:yum list java* 2.安装免费版1.8: java-1.8.0-openjdk.x86_64 3.配置java环境 JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.191.b12-1.el7_6.x86_64 JRE_HOME=$JAVA_HOME/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PAT

回答运维新手对YUM安装和编译安装的区别

    工作之余不乏一些幽默和调侃! 擅长网络的同事小李对Linux服务这方面一直不怎么了解.今天编译安装nginx时看到很多configure参数后头疼的问我,这yum安装和编译安装有啥区别啊?! 个人看法总结如下: 安装方式不同: yum安装:是将yum源中的rpm包下载到本地,安装这个rpm包(安装完自动删除rpm包,可配置安装完之后不删除). 源码安装:下载源码包,需要进行配置.编译和安装,配置的过程可以进行参数设定. 优缺点: yum安装优点:安装方便,快捷,能够解决包依赖的问题. y

nginx 手动编译安装简化版, 几个命令搞定。

安装编译环境 yum install -y gcc gcc-c++ pcre-devel zlib zlib-devel openssl-devel ncurses ncurses-devel  automake autoconf libtool make gd-devel perl perl-devel perl-ExtUtils-Embed ./configure \ --prefix=/data/app/nginx-1.8.0 \ --user=nginx \ --group=nginx

20190314 Nginx:编译安装、Location的使用、常用变量

Nginx是一个高性能的HTTP和反向代理服务.是一款轻量级的Web服务器和反向代理服务器及电子邮件代理服务器,特点:占有内存少,并发能力强, epoll:在Linux 2.6内核中提出的select和poll的增强版本支持水平触发LT和边缘触发ET,最大的特点在于边缘触发,它只告诉进程哪些fd刚刚变为就需态,并且只会通知一次使用"事件"的就绪通知方式,通过epoll_ctl注册fd,一旦该fd就绪,内核就会采用类似callback的回调机制来激活该fd,epoll_wait便可以收到

记录使用yum安装nginx之后的目录问题

一般来说我们安装nginx的目录都是/usr/local/nginx的,但是用yum安装的目录跟手动安装的不一样,下面是整理的使用yum安装的一些对应目录. nginx执行文件目录:/usr/sbin/nginx配置文件路劲:/etc/nginx/nginx.conf nginx首页html网页路劲:/usr/share/nginx/html缓存对应的目录:/var/cache/nginx/fastcgi_temp代理目录:/var/cache/nginx/proxy_temp这是啥目录:/va

Nginx系列--01基本架构及其安装

前言 早期Nginx 的诞生是为了解决Web中出现的C10K 问题,即服务器如何承受一万的并发量.当时流行的Web server为Apache Httpd,而Httpd的IO模型使用的select()模型,这种IO模型为端口复用模型,他的并发量只能达到1024.而Nginx的使用了一种epoll的IO模型,这种模型使用事件驱动机制极大的提高了并发量.当然到现今为止,Nginx的功能不仅仅提供web服务. 一. Nginx架构 1. Nginx进程架构 由上图可知,nginx的进程模型分为两级,一

Nginx知多少系列之(二)安装

原文:Nginx知多少系列之(二)安装 目录 1.前言 2.安装 3.配置文件详解 4.工作原理 5.Linux下托管.NET Core项目 6.Linux下.NET Core项目负载均衡 7.Linux下.NET Core项目Nginx+Keepalived高可用(主从模式) 8.Linux下.NET Core项目Nginx+Keepalived高可用(双主模式) 9.Linux下.NET Core项目LVS+Keepalived+Nginx高可用集群 10.构建静态服务器 11.日志分析 1

yum安装tomcat

http://www.cnblogs.com/liaolongjun/p/5638740.html http://www.awspack.com/os/linux/yum-install-tomcat/ 在服务器跑Java程序的时候,经常用的Web服务器就是Tomcat,今天用yum命令试着安装了一下. 编译安装的时候需要安装JDK和Tomcat,而yum安装Tomcat直接把OpenJDK也给安装上了. yum安装Tomcat 先查看一下yum安装时的Tomcat版本 1 2 3 4 5 6