Nginx负载均衡如何才能做好呢?这个问题需要我们不断的探讨。其实很简单,只要做好相关命令的编写就可以。为了确保能在 Nginx 中使用正则表达式进行更灵活的配置,安装之前需要确定系统是否安装有 PCRE(Perl Compatible Regular Expressions)包。
rpm -q pcre
本机系统显示:
- [sillycat@dev1 tmp]$ rpm -q pcre
- pcre-4.5-3.2.RHEL4
不知道版本会不会过低,等等再说
- tar zxvf nginx-0.6.35.tar.gz
- cd nginx-0.6.35
- ./configure --with-http_stub_status_module --prefix=/usr/local/nginx
- make
- make install
安装成功后 /usr/local/nginx 目录下有四个子目录分别是:
conf、html、logs、sbin
其中 Nginx 的配置文件存放于 conf/nginx.conf,Nginx 只有一个程序文件位于 sbin 目录下的 nginx 文件。确保系统的 80 端口没被其他程序占用,运行 sbin/nginx 命令来启动 Nginx,打开浏览器访问此机器的 IP,如果浏览器出现 Welcome to nginx! 则表示 Nginx 已经安装并运行成功。
本机发现不行,需要修改配置文件中的
- conf/nginx.conf
- server {
- listen 80;
- server_name www.kiko.com;
原来server_name是localhost只监听了本机
程序运行参数
Nginx负载均衡安装后只有一个程序文件,本身并不提供各种管理程序,它是使用参数和系统信号机制对 Nginx 进程本身进行控制的。 Nginx 的参数包括有如下几个:
-c <path_to_config>:使用指定的配置文件而不是 conf 目录下的 nginx.conf 。
-t:测试配置文件是否正确,在运行时需要重新加载配置的时候,此命令非常重要,用来检测所修改的配置文件是否有语法错误。
-v:显示 nginx 版本号。
-V:显示 nginx 的版本号以及编译环境信息以及编译时的参数。
例如我们要测试某个配置文件是否书写正确,我们可以使用以下命令
- sbin/nginx – t – c conf/nginx.conf
Nginx负载均衡启动脚本
通过信号对 Nginx 进行控制
Nginx负载均衡支持下表中的信号:
信号名 作用描述
TERM, INT 快速关闭程序,中止当前正在处理的请求
QUIT 处理完当前请求后,关闭程序
HUP 重新加载配置,并开启新的工作进程,关闭就的进程,此操作不会中断请求
USR1 重新打开日志文件,用于切换日志,例如每天生成一个新的日志文件
USR2 平滑升级可执行程序
WINCH 从容关闭工作进程
有两种方式来通过这些信号去控制 Nginx,第一是通过 logs 目录下的 nginx.pid 查看当前运行的 Nginx 的进程 ID,通过 kill – XXX <pid> 来控制 Nginx,其中 XXX 就是上表中列出的信号名。如果您的系统中只有一个 Nginx 进程,那您也可以通过 killall 命令来完成,例如运行 killall – s HUP nginx 来让 Nginx 重新加载配置。
nginx是超级稳定的服务器,一般不会因为超载问题而需要重启,重启的目的一般都是修改配置文件后需要加载一下。
【编辑推荐】