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

nginx安装部署

2016-01-14 17:58 651 查看
Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器,在高连接并发的情况下Nginx 是 Apache 服务器不错的替代品.其特点是占有内存少,并发能力强,nginx与Apache各有优缺点。
Nginx 采用 C 进行编写, 不论是系统资源开销都是很好。你还能够不间断服务的情况下进行软件版本的升级。

最近公司项目部署安装落到我头上了,通过网上查找及书本中了解,对nginx安装过程做了个总结,至少是让nginx跑起来了呵呵!

首先要先安装编译环境gcc g++ 不然直接进行安装会出错的哦

ububtu系统需要安装编译指令

apt-get install build-essential
apt-get install libtool

centos编译环境需要安装如下指令

安装make:
yum -y install gcc automake autoconf libtool make
安装g++:
yum install gcc gcc-c++

正式开始安装 以下安装参数解释:./configure 配置检测安装环境|make 编译|make install 安装|make check进行测试|./configure --enable-utf8  配置对utf-8支持

第一步:

下载需要安装包,下载到usr/local/src目录中

pcre 这个是HTTP Rewrite 模块,也即是url静态化的包  ( 下载: http://www.pcre.org/ )  

#wget http://jaist.dl.sourceforge.net/project/pcre/pcre/8.33/pcre-8.33.tar.gz 
tar -zxvf pcre-8.34.tar.gz
cd pcre-8.34
./configure
make
make install
zlib  模块需要 zlib 库  ( 下载: http://www.zlib.net/
wget http://zlib.net/zlib-1.2.8.tar.gz tar -zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure
make
make install
ssl 功能需要 openssl 库 某些vps默认没装ssl( 下载: http://www.openssl.org/ )
wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz tar -zxvf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config
make
make install
nginx安装(下载http://nginx.org/en/download.html)
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
make
make install

第二步:启动nginx: /usr/local/nginx/sbin/nginx
此时可能会出现一个错误,没出现可以不用管它,出现了你必须看看以下处理方式出现什么错误呢?

/usr/local/nginx/sbin/nginx: error while loading shared libraries: libpcre.so.1: cannot open shared object file: No such file or directory

从错误提示信息可以得知是因为缺少lib文件导致,看看具体内容:
# ldd $(which /usr/local/nginx/sbin/nginx)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00000030e8400000)
libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00000030f9a00000)
libpcre.so.1 => not found
libcrypto.so.6 => /lib64/libcrypto.so.6 (0x00000030f2a00000)
libz.so.1 => /lib64/libz.so.1 (0x00000030e8800000)
libc.so.6 => /lib64/libc.so.6 (0x00000030e7800000)
/lib64/ld-linux-x86-64.so.2 (0x00000030e7400000)
libdl.so.2 => /lib64/libdl.so.2 (0x00000030e8000000)
可以看出 libpcre.so.1 => not found 并没有找到
解决方法:之前安装了一系列的依赖软件 这里用到了pcre
针对于32位系统处理方式:
#查看lib库
#  ls /lib/ |grep pcre
libpcre.so.0
libpcre.so.0.0.1
#添加软连接
# ln -s /lib/libpcre.so.0.0.1 /lib/libpcre.so.1
针对于64位系统处理方式:
#查看lib库
#  ls /lib64/ |grep pcre
libpcre.so.0
libpcre.so.0.0.1
#添加软连接
# ln -s /lib64/libpcre.so.0.0.1 /lib64/libpcre.so.1
错误解决了!

启动: /usr/local/nginx/sbin/nginx

打开浏览器输入ip查看如下信息,nginx安装成功,



重启:/usr/local/nginx/sbin/nginx -s  reload

停止:ps–ef | grep nginx(查看进程号)

kill -9 主进程号

kill -9 子进程号(可能有多个)

nginx的configure命令支持以下参数:

--prefix=path    定义一个目录,存放服务器上的文件 ,也就是nginx的安装目录。默认使用 /usr/local/nginx。

--sbin-path=path 设置nginx的可执行文件的路径,默认为  prefix/sbin/nginx.

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

--pid-path=path  设置nginx.pid文件,将存储的主进程的进程号。安装完成后,可以随时改变的文件名 , 在nginx.conf配置文件中使用 PID指令。默认情况下,文件名 为prefix/logs/nginx.pid.

--error-log-path=path 设置主错误,警告,和诊断文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的error_log指令。默认情况下,文件名 为prefix/logs/error.log.

--http-log-path=path  设置主请求的HTTP服务器的日志文件的名称。安装完成后,可以随时改变的文件名 ,在nginx.conf配置文件中 使用 的access_log指令。默认情况下,文件名 为prefix/logs/access.log.

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

--group=name  设置nginx工作进程的用户组。安装完成后,可以随时更改的名称在nginx.conf配置文件中 使用的 user指令。默认的为非特权用户。

--with-select_module --without-select_module 启用或禁用构建一个模块来允许服务器使用select()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。

--with-poll_module --without-poll_module 启用或禁用构建一个模块来允许服务器使用poll()方法。该模块将自动建立,如果平台不支持的kqueue,epoll,rtsig或/dev/poll。

--without-http_gzip_module — 不编译压缩的HTTP服务器的响应模块。编译并运行此模块需要zlib库。

--without-http_rewrite_module  不编译重写模块。编译并运行此模块需要PCRE库支持。

--without-http_proxy_module — 不编译http_proxy模块。

--with-http_ssl_module — 使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的OpenSSL库是必需的。

--with-pcre=path — 设置PCRE库的源码路径。PCRE库的源码(版本4.4 - 8.30)需要从PCRE网站下载并解压。其余的工作是Nginx的./ configure和make来完成。正则表达式使用在location指令和 ngx_http_rewrite_module 模块中。

--with-pcre-jit —编译PCRE包含“just-in-time compilation”(1.1.12中, pcre_jit指令)。

--with-zlib=path —设置的zlib库的源码路径。要下载从 zlib(版本1.1.3 - 1.2.5)的并解压。其余的工作是Nginx的./ configure和make完成。ngx_http_gzip_module模块需要使用zlib 。

--with-cc-opt=parameters — 设置额外的参数将被添加到CFLAGS变量。例如,当你在FreeBSD上使用PCRE库时需要使用:--with-cc-opt="-I /usr/local/include。.如需要需要增加 select()支持的文件数量:--with-cc-opt="-D FD_SETSIZE=2048".

--with-ld-opt=parameters —设置附加的参数,将用于在链接期间。例如,当在FreeBSD下使用该系统的PCRE库,应指定:--with-ld-opt="-L /usr/local/lib".

典型实例(下面为了展示需要写在多行,执行时内容需要在同一行)
./configure
--sbin-path=/usr/local/nginx/nginx
--conf-path=/usr/local/nginx/nginx.conf
--pid-path=/usr/local/nginx/nginx.pid
--with-http_ssl_module
--with-pcre=../pcre-4.4
--with-zlib=../zlib-1.1.3
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx linux centos