打赏
Fork me on GitHub

nginx(一)----ubuntu14.04下安装nginx

/**

* lihaibo

* 文章内容都是根据自己工作情况实践得出。

*如有错误,请指正

*转载请注明出处

*/

此文章中用到的软件下载地址:

链接: http://pan.baidu.com/s/1kVCPcLh 密码: zdw5

一、系统环境:

root@ubuntu:/usr/local/pcre-8.38# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.4 LTS"

二、安装pcre

  进入/usr/local  获取pcre编译安装包,在http://www.pcre.org/上可以获取当前最新的版本

  pcre-8.38.tar.bz2    解压:  tar   -jxvf     pcre-8.38.tar.bz2

  进入解压缩目录,执行./configure。

   遇到问题一:./configure: error: C compiler cc is not found

    解决方案: sudo apt-get install -y gcc

   遇到问题二:configure: error: You need a C++ compiler for C++ support.

    解决方案:sudo apt-get install build-essential

   再./configure

  

pcre-8.38 configuration summary:

    Install prefix .................. : /usr/local
    C preprocessor .................. : gcc -E
    C compiler ...................... : gcc
    C++ preprocessor ................ : g++ -E
    C++ compiler .................... : g++
    Linker .......................... : /usr/bin/ld -m elf_x86_64
    C preprocessor flags ............ : 
    C compiler flags ................ : -g -O2 -fvisibility=hidden
    C++ compiler flags .............. : -O2 -fvisibility=hidden -fvisibility-inlines-hidden
    Linker flags .................... : 
    Extra libraries ................. : 

    Build 8 bit pcre library ........ : yes
    Build 16 bit pcre library ....... : no
    Build 32 bit pcre library ....... : no
    Build C++ library ............... : yes
    Enable JIT compiling support .... : no
    Enable UTF-8/16/32 support ...... : no
    Unicode properties .............. : no
    Newline char/sequence ........... : lf
    \R matches only ANYCRLF ......... : no
    EBCDIC coding ................... : no
    EBCDIC code for NL .............. : n/a
    Rebuild char tables ............. : no
    Use stack recursion ............. : yes
    POSIX mem threshold ............. : 10
    Internal link size .............. : 2
    Nested parentheses limit ........ : 250
    Match limit ..................... : 10000000
    Match limit recursion ........... : MATCH_LIMIT
    Build shared libs ............... : yes
    Build static libs ............... : yes
    Use JIT in pcregrep ............. : no
    Buffer size for pcregrep ........ : 20480
    Link pcregrep with libz ......... : no
    Link pcregrep with libbz2 ....... : no
    Link pcretest with libedit ...... : no
    Link pcretest with libreadline .. : no
    Valgrind support ................ : no
    Code coverage ................... : no

   执行make & make  install

三、安装openssl

      获取openssl编译安装包,在http://www.openssl.org/source/上可以获取当前最新的版本。

      openssl-1.1.0-pre1.tar.gz

     执行 ./config

Operating system: x86_64-whatever-linux2
Configuring for linux-x86_64
Configuring for linux-x86_64
    no-deprecated   [default]  OPENSSL_NO_DEPRECATED (skip dir)
    no-ec_nistp_64_gcc_128 [default]  OPENSSL_NO_EC_NISTP_64_GCC_128 (skip dir)
    no-gmp          [default]  OPENSSL_NO_GMP (skip dir)
    no-jpake        [experimental] OPENSSL_NO_JPAKE (skip dir)
    no-md2          [default]  OPENSSL_NO_MD2 (skip dir)
    no-rc5          [default]  OPENSSL_NO_RC5 (skip dir)
    no-sctp         [default]  OPENSSL_NO_SCTP (skip dir)
    no-shared       [default] 
    no-ssl-trace    [default]  OPENSSL_NO_SSL_TRACE (skip dir)
    no-store        [experimental] OPENSSL_NO_STORE (skip dir)
    no-unit-test    [default]  OPENSSL_NO_UNIT_TEST (skip dir)
    no-zlib         [default] 
    no-zlib-dynamic [default] 
IsMK1MF=0
CC            =gcc
CFLAG         =-DOPENSSL_THREADS -pthread -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -m64 -DL_ENDIAN -Wall -O3 -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM -DECP_NISTZ256_ASM
EX_LIBS       =-ldl
CPUID_OBJ     =x86_64cpuid.o
BN_ASM        =x86_64-gcc.o x86_64-mont.o x86_64-mont5.o x86_64-gf2m.o rsaz_exp.o rsaz-x86_64.o rsaz-avx2.o
EC_ASM        =ecp_nistz256.o ecp_nistz256-x86_64.o
DES_ENC       =des_enc.o fcrypt_b.o
AES_ENC       =aes-x86_64.o vpaes-x86_64.o bsaes-x86_64.o aesni-x86_64.o aesni-sha1-x86_64.o aesni-sha256-x86_64.o aesni-mb-x86_64.o
BF_ENC        =bf_enc.o
CAST_ENC      =c_enc.o
RC4_ENC       =rc4-x86_64.o rc4-md5-x86_64.o
RC5_ENC       =rc5_enc.o
MD5_OBJ_ASM   =md5-x86_64.o
SHA1_OBJ_ASM  =sha1-x86_64.o sha256-x86_64.o sha512-x86_64.o sha1-mb-x86_64.o sha256-mb-x86_64.o
RMD160_OBJ_ASM=
CMLL_ENC      =cmll-x86_64.o cmll_misc.o
MODES_OBJ     =ghash-x86_64.o aesni-gcm-x86_64.o
ENGINES_OBJ   =e_padlock-x86_64.o
PROCESSOR     =
RANLIB        =/usr/bin/ranlib
ARFLAGS       =
PERL          =/usr/bin/perl
SIXTY_FOUR_BIT_LONG mode
DES_UNROLL used
DES_INT used
RC4_CHUNK is unsigned long

  make  & make install

四、安装zlib

     获取zlib编译安装包,在http://www.zlib.net/上可以获取当前最新的版本

      zlib-1.2.8.tar.gz    解压: tar -zxvf zlib-1.2.8.tar.gz

      进入解压缩目录,执行./configure。

root@ubuntu:/usr/local/zlib-1.2.8# ./configure 
Checking for gcc...
Checking for shared library support...
Building shared library libz.so.1.2.8 with gcc.
Checking for off64_t... Yes.
Checking for fseeko... Yes.
Checking for strerror... Yes.
Checking for unistd.h... Yes.
Checking for stdarg.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for attribute(visibility) support... Yes.

    make  & make install

root@ubuntu:/usr/local/zlib-1.2.8# make install
cp libz.a /usr/local/lib
chmod 644 /usr/local/lib/libz.a
cp libz.so.1.2.8 /usr/local/lib
chmod 755 /usr/local/lib/libz.so.1.2.8
cp zlib.3 /usr/local/share/man/man3
chmod 644 /usr/local/share/man/man3/zlib.3
cp zlib.pc /usr/local/lib/pkgconfig
chmod 644 /usr/local/lib/pkgconfig/zlib.pc
cp zlib.h zconf.h /usr/local/include
chmod 644 /usr/local/include/zlib.h /usr/local/include/zconf.h

五、安装nginx

    获取nginx,在http://nginx.org/en/download.html上可以获取当前最新的版本

    nginx-1.4.6.tar.gz     解压: tar -zxvf nginx-1.4.6.tar.gz

    进入解压缩目录,执行./configure

     make & make install

root@ubuntu:/usr/local/nginx-1.4.6# make install
make -f objs/Makefile install
make[1]: Entering directory `/usr/local/nginx-1.4.6'
test -d '/usr/local/nginx' || mkdir -p '/usr/local/nginx'
test -d '/usr/local/nginx/sbin'                 || mkdir -p '/usr/local/nginx/sbin'
test ! -f '/usr/local/nginx/sbin/nginx'                 || mv '/usr/local/nginx/sbin/nginx'                     '/usr/local/nginx/sbin/nginx.old'
cp objs/nginx '/usr/local/nginx/sbin/nginx'
test -d '/usr/local/nginx/conf'                 || mkdir -p '/usr/local/nginx/conf'
cp conf/koi-win '/usr/local/nginx/conf'
cp conf/koi-utf '/usr/local/nginx/conf'
cp conf/win-utf '/usr/local/nginx/conf'
test -f '/usr/local/nginx/conf/mime.types'              || cp conf/mime.types '/usr/local/nginx/conf'
cp conf/mime.types '/usr/local/nginx/conf/mime.types.default'
test -f '/usr/local/nginx/conf/fastcgi_params'          || cp conf/fastcgi_params '/usr/local/nginx/conf'
cp conf/fastcgi_params          '/usr/local/nginx/conf/fastcgi_params.default'
test -f '/usr/local/nginx/conf/fastcgi.conf'            || cp conf/fastcgi.conf '/usr/local/nginx/conf'
cp conf/fastcgi.conf '/usr/local/nginx/conf/fastcgi.conf.default'
test -f '/usr/local/nginx/conf/uwsgi_params'            || cp conf/uwsgi_params '/usr/local/nginx/conf'
cp conf/uwsgi_params            '/usr/local/nginx/conf/uwsgi_params.default'
test -f '/usr/local/nginx/conf/scgi_params'             || cp conf/scgi_params '/usr/local/nginx/conf'
cp conf/scgi_params             '/usr/local/nginx/conf/scgi_params.default'
test -f '/usr/local/nginx/conf/nginx.conf'              || cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf'
cp conf/nginx.conf '/usr/local/nginx/conf/nginx.conf.default'
test -d '/usr/local/nginx/logs'                 || mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/logs' ||              mkdir -p '/usr/local/nginx/logs'
test -d '/usr/local/nginx/html'                 || cp -R html '/usr/local/nginx'
test -d '/usr/local/nginx/logs' ||              mkdir -p '/usr/local/nginx/logs'
make[1]: Leaving directory `/usr/local/nginx-1.4.6'

若安装时找不到上述依赖模块,使用--with-openssl=<openssl_dir>、--with-pcre=<pcre_dir>、--with-zlib=<zlib_dir>指定依赖的模块目录。如已安装过,此处的路径为安装目录;若未安装,则此路径为编译安装包路径,nginx将执行模块的默认编译安装。

修改配置文件:

编辑/usr/local/nginx/conf下的nginx.conf文件,修改listen端口和server_name(即IP)

    

  

六、验证nginx是否安装成功

     将/usr/local/nginx/sbin设置到PATH中,在/etc/profile中的PATH中添加/usr/local/nginx/sbin

      以后使用nginx的时候就直接输入   nginx

   由于是root用户编译安装的

   root用户下启动nginx    root@ubuntu:/usr/local/nginx/sbin# /usr/local/nginx/sbin/nginx   #输入后,如果无反应 则正确启动,如需确定是否启动,可使用

   netstat  -anp|grep 8181  

   

# netstat -anp |grep 8181
tcp        0      0 0.0.0.0:8181            0.0.0.0:*               LISTEN      46240/nginx

 

 

 

   在浏览器输入nginx服务器所在IP和端口

  

-----------------------

参考文档:

http://www.openssl.org/source/

http://www.pcre.org/

http://www.zlib.net/

http://www.cnblogs.com/skynet/p/4146083.html

 

----------------------------

http://www.cnblogs.com/yecao8888/articles/5316044.htmlnginx配置参考:

安装nginx

$ cd /usr/local/
$ wget http://nginx.org/download/nginx-1.8.0.tar.gz
$ tar -zxvf nginx-1.8.0.tar.gz
$ cd nginx-1.8.0  
$ ./configure --prefix=/usr/local/nginx 
$ make      #这里经常出现这样的提示  make[1]:leaving directory  '/usr/local/nginx-1.8.0
#不用理睬 就可以
$ make install

# 在--prefix后面接以下命令:

================================================================================================================================
--prefix=/usr/local/nginx ==>安装部署后的根目录,默认为/usr/local/nginx
--conf-path=/etc/nginx/nginx/nginx.conf ==>配置文件的放置路径,默认<prefix>/conf/nginx.conf
--user=nginx ==>指定worker进程运行时所属的用户
--group=nginx ==>指定worker进程运行是所属的组
--error-log-path=/var/log/nginx/errpr.log ==>error日志放置位置
--http-log-path=/var/log/nginx/access.log ==>access日志放置的位置
--pid-path=/var/run/nginx/nginx.pid ==>pid文件的存放路径;默认<prefix>/logs/nginx.pid
--lock-path=/var/lock/nginx.lock ==>lock文件的放置路径;默认<prefix>/logs/nginx.lock

--with-http_ssl_module ==>提供HTTPS服务;该模块的安装依赖于OpenSSL开源软件
--with-http_stub_status_module ==>能够获取Nginx自上次启动以来的工作状态
--with-http_gzip_static_module ==> 如果采用gzip 模块把一些文档进行gzip 格式压缩后再返回给客户端,那么对同一个文件每次都会重新压缩,这是比较消耗服务器CPU 资源的. gzip static 模块可以在做gzip 压缩前,先查看相同位置是否有已经做过gzip 压缩的.gz 文件,如果有,就直接返回。这样就可以预先在服务器上做好文档的压缩,给CPU 减负
--wiht-http_flv_modle ==>可以在向客户端返回响应肘,对FLV 格式的视频文件在header 头做一些处理,使得客户端可以观看、拖动FLV 视频
--with-http_mp4_module ==>使客户端可以观看、拖动MP4 视频
--http-client-body-temp-path=/var/tmp/nginx/client ==>set path to store http client request body temporary files
--http-proxy-temp-path=/var/tmp/nginx/proxy ==>Nginx 作为HTTP 反向代理服务器时,上游服务器产生的HTTP 包体在需要临时存放到磁盘文件时,这样的临时文件将放到该路径下;默认<prefix>/proxy _temp
--http-fastcgi-temp-path=/var/tmp/nginx/fastcgi ==>Fastcgi 所使用临时文件的放置目;默认<prefix>/fastcgi_temp
================================================================================================================================

关闭iptables
service iptables stop
chkconfig iptables stop

 

关闭selinux
setenforce 0
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled

 

posted @ 2016-04-06 16:27  my_cool2007  阅读(5187)  评论(0编辑  收藏  举报