Nginx 安装配置方法
1.Linux系统为Centos 64位
第一步:从http://nginx.org/download/上下载相应的版本(或者wget http://nginx.org/download/nginx-1.5.9.tar.gz直接在Linux上用命令下载)
第二步:解压 tar -zxvf nginx-1.5.9.tar.gz
第三步:设置一下配置信息 ./configure --prefix=/usr/local/nginx
第四步:
下载的原文件中执行:
make 编译 (make的过程是把各种语言写的源码文件,变成可执行文件和各种库文件)
make install 安装 (make install是把这些编译出来的可执行文件和库文件复制到合适的地方)
在配置信息的时候,也就是在第三步,出现了一下错误:
错误为:./configure: error: the HTTP rewrite module requires the PCRE library.
安装pcre-devel解决问题
yum -y install pcre-devel
还有可能出现:
错误提示:./configure: error: the HTTP cache module requires md5 functions
from OpenSSL library. You can either disable the module by using
--without-http-cache option, or install the OpenSSL library into the system,
or build the OpenSSL library statically from the source with nginx by using
--with-http_ssl_module --with-openssl=<path> options.
解决办法:
yum -y install openssl openssl-devel
安装后在linux下启动和关闭nginx:
启动操作
/usr/nginx/sbin/nginx (/usr/nginx/sbin/nginx -t 查看配置信息是否正确)
停止操作
停止操作是通过向nginx进程发送信号(什么是信号请参阅linux文 章)来进行的
步骤1:查询nginx主进程号
ps -ef | grep nginx
在进程列表里 面找master进程,它的编号就是主进程号了。
步骤2:发送信号
从容停止Nginx:
kill -QUIT 主进程号
快速停止Nginx:
kill -TERM 主进程号
强制停止Nginx:
pkill -9 nginx
另外, 若在nginx.conf配置了pid文件存放路径则该文件存放的就是Nginx主进程号,如果没指定则放在nginx的logs目录下。有了pid文 件,我们就不用先查询Nginx的主进程号,而直接向Nginx发送信号了,命令如下:
kill -信号类型 '/usr/nginx/logs/nginx.pid'
平滑重启
如果更改了配置就要重启Nginx,要先关闭Nginx再打开?不是的,可以向Nginx 发送信号,平滑重启。
平滑重启命令:
kill -HUP 住进称号或进程号文件路径
或者使用
/usr/nginx/sbin/nginx -s reload
注意,修改了配置文件后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行。判断Nginx配置是否正确命令如下:
nginx -t -c /usr/nginx/conf/nginx.conf
或者
/usr/nginx/sbin/nginx -t
nginx设置多端口转发(不同端口应用使用二级域名访问).md
修改配置文件:nginx.conf
upstream www.testwk.com{
server xxx.xx.xx.xx:8030 weight=1;
}
upstream bk.testwk.com.com{
server xxx.xx.xx.xx:8089 weight=1;
}
// 第一个应用配置
server {
listen 80 default;
server_name www.testwk.com;
index index.html index.htm index.jsp *;
root /alidata/www/default;
location ~ \.jsp$ {
proxy_pass http://127.0.0.1:8080;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 1h;
}
access_log /alidata/log/nginx/access/default.log;
}
//第二个应用配置,这个应用不是运行在80端口上的。并且可以是另外一个服务器
//使用属性proxy_pass设置
server {
listen 80;
server_name bk.testwk.com;
location / {
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:7878;
}
access_log /alidata/log/nginx/access/blog.log;
}
配置完成需要重启nginx。 /etc/init.d/nginx restart
配置修改完成之后需要设置域名的解析设置,在解析设置中增加一个二级域名。比如:
我的主域名是:testwk.com,增加了一个二级域名为bk.testwk.com, 然后结合nginx的配置实现,服务器上的一个运行在7878端口的应用可以以bk.testwk.com方式访问,而且不需要指出端口就可以访问(一般情况访问需要加端口,比如bk.testwk.com:7878)。
注意:如果bk.testwk.com依然访问的是testwk.com的情况时,可以在nginx.conf后面加上include vhost/*.conf;
重启nginx;
./nginx -s reload 回车