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系统需要安装编译指令
centos编译环境需要安装如下指令
安装make:
正式开始安装 以下安装参数解释:./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
第二步:启动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文件导致,看看具体内容:
解决方法:之前安装了一系列的依赖软件 这里用到了pcre
针对于32位系统处理方式:
启动: /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".
典型实例(下面为了展示需要写在多行,执行时内容需要在同一行)
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 installzlib 模块需要 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 installssl 功能需要 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 installnginx安装(下载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
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- nginx代理指定目录
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 访问Nginx发生SSL connection error的一种情况
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Centos6 编译安装Python
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)