日期:2014-05-16  浏览次数:20596 次

linux下nginx安装

nginx安装

可以用root安装,也可以用其他用户sudo安装,还是用root安装简单

需要先装gcc,我的已经安了,

[oracle@dev Server]$ rpm -q gcc
gcc-4.1.2-51.el5

?

prce也安了,不是最新的

[oracle@dev sbin]$ rpm -q pcre
pcre-6.6-6.el5_6.1

?

安装pcre (让nginx支持rewrite)

下载最新PCRE(Perl Compatible Regular Expressions)源码包

http://www.pcre.org/

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz

?

使用下面命令下载编译和安装 PCRE 包:
# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.21.tar.gz?下载
# tar zxvf pcre-8.21.tar.gz
# cd pcre-8.21

# ./configure
# make
# sudo make install

?

安装nginx

下载地址

http://nginx.org/en/download.html

[oracle@dev opt]tar zxvf nginx-1.3.12.tar.gz

[oracle@dev opt] cd nginx-1.3.12

[oracle@dev nginx-1.3.12]$ ./configure --with-http_stub_status_module

[oracle@dev nginx-1.3.12]$ make install
[oracle@dev nginx-1.3.12]$ sudo make install

?

启动nginx

oracle@dev nginx-1.3.12]$ cd /usr/local/nginx/sbin
[oracle@dev sbin]$ sudo ./nginx &
[2] 16121

要是出现如下信息说明端口被占用了,我的是被weblogic占用了,可先停止webloigc,或修改weblogic端口
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

?

访问地址

http://localhost/

?

停止nginx

[oracle@dev sbin]$ sudo ./nginx -s stop

[oracle@dev sbin]$ sudo ./nginx -s quit

?

Nginx -s stop???????? 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。(quick exit)
Nginx -s quit???????? 平稳关闭Nginx,保存相关信息,有安排的结束web服务。(graceful exit)
Nginx -s reload?????? 因改变了Nginx相关配置,需要重新加载配置而重载。(changing configuration,start a new worker,quitting an old worker gracefully.)
Nginx -s reopen?????? 重新打开日志文件。(reopenging log files)

?

以下是./configure的选项

--prefix=<path> - Nginx安装路径。如果没有指定,默认为 /usr/local/nginx。

--sbin-path=<path> - Nginx可执行文件安装路径。只能安装时指定,如果没有指定,默认为<prefix>/sbin/nginx。

--conf-path=<path> - 在没有给定-c选项下默认的nginx.conf的路径。如果没有指定,默认为<prefix>/conf/nginx.conf。

--pid-path=<path> - 在nginx.conf中没有指定pid指令的情况下,默认的nginx.pid的路径。如果没有指定,默认为 <prefix>/logs/nginx.pid。

--lock-path=<path> - nginx.lock文件的路径。

--error-log-path=<path> - 在nginx.conf中没有指定error_log指令的情况下,默认的错误日志的路径。如果没有指定,默认为 <prefix>/logs/error.log。

--http-log-path=<path> - 在nginx.conf中没有指定access_log指令的情况下,默认的访问日志的路径。如果没有指定,默认为 <prefix>/logs/access.log。

--user=<user> - 在nginx.conf中没有指定user指令的情况下,默认的nginx使用的用户。如果没有指定,默认为 nobody。

--group=<group> - 在nginx.conf中没有指定user指令的情况下,默认的nginx使用的组。如果没有指定,默认为 nobody。

--buil