linux应用之nginx的源码安装及配置(centos)

摘要:
Nginx是用C编写的,需要用GCC编译;Nginx的Rewrite和HTTP模块使用PCRE;Nginx中的Gzip使用zlib;使用命令“#gcc”检查是否安装了gcc;如果出现消息“gcc:noinputfiles”,则表示安装已完成。如果端口80被Apache占用,请根据需要修改nginx端口号或Apache端口号。停止:nginxsstop3.使用命令“#vi/etc/init.d/nginx”向系统添加服务,打开编辑器,然后输入以下内容:#!您可以使用chkconfig修改其值,也可以使用ntsysv工具更改它是否自动启动。

1、准备工作
选首先安装这几个软件:GCC,PCRE(Perl Compatible Regular Expression),zlib,OpenSSL。
Nginx是C写的,需要用GCC编译;Nginx的Rewrite和HTTP模块会用到PCRE;Nginx中的Gzip用到zlib;
用命令“# gcc”,查看gcc是否安装;如果出现“gcc: no input files”信息,说明已经安装好了。
否则,就需要用命令“# yum install gcc”,进行安装了!一路可能需要多次输入y,进行确认。
安装好后,可以再用命令“#gcc”测试,或者用命令“# gcc -v”查看其版本号。
同样方法,用如下命令安装PCRE,zlib,OpenSSL(其中devel,是develop开发包的意思):

 
  1. # yum install -y pcre pcre-devel  
  2. # yum install -y zlib zlib-devel  
  3. # yum install -y openssl openssl-devel  


2、下载并安装
创建目录(nginx-src)并进去;然后,从官方地址(http://nginx.org/)下载,解压,配置,编译,安装:

 
  1. # mkdir nginx-src && cd nginx-src  
  2. # wget http://nginx.org/download/nginx-1.7.3.tar.gz  
  3. # tar xzf nginx-1.7.3.tar.gz   
  4. # cd nginx-1.7.3  
  5. # ./configure  
  6. # make  
  7. # make install  
  8. # whereis nginx  
  9. nginx: /usr/local/nginx  

默认的安装路径为:/usr/local/nginx;跳转到其目录下sbin路径下,便可以启动或停止它了。

 
  1. # ./nginx -h  
  2. nginx version: nginx/1.7.3  
  3. Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]  
  4. Options:  
  5.   -?,-h         : this help  
  6.   -v            : show version and exit  
  7.   -V            : show version and configure options then exit  
  8.   -t            : test configuration and exit  
  9.   -q            : suppress non-error messages during configuration testing  
  10.   -s signal     : send signal to a master process: stop, quit, reopen, reload  
  11.   -p prefix     : set prefix path (default: /usr/local/nginx/)  
  12.   -c filename   : set configuration file (default: conf/nginx.conf)  
  13.   -g directives : set global directives out of configuration file  

启动:nginx

测试是否正常:在浏览器输入服务器所在主机IP(202.116.147.88:80)测试是否成功。如果80端口被apache占用,可视情况修改nginx端口号或apache端口号。

停止:nginx -s stop

3、添加到系统服务
使用命令“# vi /etc/init.d/nginx”,打开编辑器,输入如下内容:

  1. #!/bin/sh  
  2. # chkconfig: 2345 85 15  
  3. # Startup script for the nginx Web Server  
  4. # description: nginx is a World Wide Web server.   
  5. # It is used to serve HTML files and CGI.  
  6. # processname: nginx  
  7. # pidfile: /usr/local/nginx/logs/nginx.pid  
  8. # config: /usr/local/nginx/conf/nginx.conf  
  9.   
  10. PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin  
  11. DESC="nginx deamon"  
  12. NAME=nginx  
  13. DAEMON=/usr/local/nginx/sbin/$NAME  
  14. SCRIPTNAME=/etc/init.d/$NAME  
  15.   
  16. test -x $DAEMON || exit 0  
  17.   
  18. d_start(){  
  19.   $DAEMON || echo -n "already running"  
  20. }  
  21.   
  22. d_stop(){  
  23.   $DAEMON -s quit || echo -n "not running"  
  24. }  
  25.   
  26.   
  27. d_reload(){  
  28.   $DAEMON -s reload || echo -n "can not reload"  
  29. }  
  30.   
  31. case "$1" in  
  32. start)  
  33.   echo -n "Starting $DESC: $NAME"  
  34.   d_start  
  35.   echo "."  
  36. ;;  
  37. stop)  
  38.   echo -n "Stopping $DESC: $NAME"  
  39.   d_stop  
  40.   echo "."  
  41. ;;  
  42. reload)  
  43.   echo -n "Reloading $DESC conf..."  
  44.   d_reload  
  45.   echo "reload ."  
  46. ;;  
  47. restart)  
  48.   echo -n "Restarting $DESC: $NAME"  
  49.   d_stop  
  50.   sleep 2  
  51.   d_start  
  52.   echo "."  
  53. ;;  
  54. *)  
  55.   echo "Usage: $ScRIPTNAME {start|stop|reload|restart}" >&2  
  56.   exit 3  
  57. ;;  
  58. esac  
  59.   
  60. exit 0  

保存退出后,再使用下面的命令,使其可执行;然后,添加配置并查看。
可用chkconfig修改其值,也可用ntsysv工具改变是否自启动。

    1. # chmod +x /etc/init.d/nginx  
    2. # chkconfig --add nginx  
    3. # chkconfig nginx on/off  
    4. # chkconfig --list nginx  
    5. nginx 0:off 1:off 2:on 3:on 4:on 5:on 6:off            

至此,nginx已经安装完成。

 

附pcre的源码安装方法:

PCRE(Perl Compatible Regular Expressions)是一个轻量级的Perl函数库,包括 perl 兼容的正则表达式库。它比Boost之类的正则表达式库小得多。PCRE十分易用,同时功能也很强大,性能超过了POSIX正则表达式库和一些经典的正则表达式库。

1. PCRE目前最新版本为8.36,可以点这里进行下载。

2. 使用tar -zxvf pcre-8.36.tar.gz进行解压。

3. 运行 chmod -R 777 /pcre-8.36 对当前文件夹授予全部读写权限。

4. 切换到/pcre-8.36目录下,运行 ./configure 进行pcre初始化配置,会在控制台打印出一大堆的输出信息。

5. 执行make操作,进行编译。

[root@server06 pcre-8.36]# make 
rm -f pcre_chartables.c 
ln -s ./pcre_chartables.c.dist pcre_chartables.c 
make  all-am 
make[1]: Entering directory `/opt/nginx/pcre-8.36' 
  CC      libpcre_la-pcre_byte_order.lo 
  CC      libpcre_la-pcre_compile.lo 
  CC      libpcre_la-pcre_config.lo 
  CC      libpcre_la-pcre_dfa_exec.lo 
  CC      libpcre_la-pcre_exec.lo 
  CC      libpcre_la-pcre_fullinfo.lo 
  CC      libpcre_la-pcre_get.lo 
  CC      libpcre_la-pcre_globals.lo 
  CC      libpcre_la-pcre_jit_compile.lo 
  CC      libpcre_la-pcre_maketables.lo 
  CC      libpcre_la-pcre_newline.lo 
  CC      libpcre_la-pcre_ord2utf8.lo 
  CC      libpcre_la-pcre_refcount.lo 
  CC      libpcre_la-pcre_string_utils.lo 
  CC      libpcre_la-pcre_study.lo 
  CC      libpcre_la-pcre_tables.lo 
  CC      libpcre_la-pcre_ucd.lo 
  CC      libpcre_la-pcre_valid_utf8.lo 
  CC      libpcre_la-pcre_version.lo 
  CC      libpcre_la-pcre_xclass.lo 
  CC      libpcre_la-pcre_chartables.lo 
  CCLD    libpcre.la 
  CC      libpcreposix_la-pcreposix.lo 
  CCLD    libpcreposix.la 
  CXX      libpcrecpp_la-pcrecpp.lo 
  CXX      libpcrecpp_la-pcre_scanner.lo 
  CXX      libpcrecpp_la-pcre_stringpiece.lo 
  CXXLD    libpcrecpp.la 
  CC      pcretest-pcretest.o 
  CC      pcretest-pcre_printint.o 
  CCLD    pcretest 
  CC      pcregrep-pcregrep.o 
  CCLD    pcregrep 
  CXX      pcrecpp_unittest-pcrecpp_unittest.o 
  CXXLD    pcrecpp_unittest 
  CXX      pcre_scanner_unittest-pcre_scanner_unittest.o 
  CXXLD    pcre_scanner_unittest 
  CXX      pcre_stringpiece_unittest-pcre_stringpiece_unittest.o 
  CXXLD    pcre_stringpiece_unittest 
make[1]: Leaving directory `/opt/nginx/pcre-8.36'

6. 运行 [root@server06 pcre-8.36]# make install,进行安装,至此PCRE安装完成。   

[root@server06 pcre-8.36]# make install

免责声明:文章转载自《linux应用之nginx的源码安装及配置(centos)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇017 系统内存信息 内存大小 空闲内存 5关于vue在列表展示数据的时候,选择更改其中一项,数据跟着实时变动的问题下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

最小化x11 debian

How to setup a minimal X11 environment on Debian GNU/Linux Install the following packages xserver-xorg-core (server) xserver-xorg-video-XXX (video driver, XXX depends on you...

CentOS PostgreSQL 12 主从复制(主从切换)

主从复制1.基于文件的日志传送 创建一个高可用性(HA)集群配置可采用连续归档,集群中主服务器工作在连续归档模式下,备服务器工作在连续恢复模式下(1台或多台可随时接管主服务器),备持续从主服务器读取WAL文件。 连续归档不需要对数据库表做任何改动,可有效降低管理开销,对主服务器的性能影响也相对较低。 直接从一个数据库服务器移动WAL记录到另一台服务器被称为...

Linux的PHP开发环境快速搭建

搭建的环境是LNMP: 1、安装MySQL 这个非常简单我用的是Ubuntu那么就用apt源,下载deb文件然后按照全新安装文档按顺序:a.加入apt库  b.更新apt库 c.安装 d.运行MySQL 下载: https://dev.mysql.com/downloads/repo/apt/ 文档: https://dev.mysql.com/doc/m...

如何检查linux是否安装了php

方法一、在终端通过php -v命令来查看一下当前php的版本。如果没有安装php,一般会提示没有php这个命令的。 2 方法二、在终端查询安装的包中是否有php,以redhat为例,则可以执行如下命令: rpm -qa | grep php 如下图所示,就说明安装了php。 3 方法三、可以使用pear命令的list参数查看安...

全网最详细的Git学习系列之介绍各个Git图形客户端(Windows、Linux、Mac系统皆适用ing)(图文详解)

     不多说,直接上干货! 一、TortoiseGit - The coolest Interface to Git Version Control   TortoiseGit 是 TortoiseSVN 的 Git 版本,TortoiseGit 用于迁移 TortoiseSVN 到 TortoiseGit,一直以来 Git 在 Windows 平台没...

centos关闭swap分区

第一步 关闭swap分区:swapoff -a第二步修改配置文件 - /etc/fstab删除swap相关行 /mnt/swap swap swap defaults 0 0 这一行或者注释掉这一行 第三步确认swap已经关闭free -m  若swap行都显示 0 则表示关闭成功 第四步调整 swappiness 参数echo 0 > /proc/...