在这里系统使用红帽6,nginx使用linux版本的1.8.0
步骤:
1. 找到想要安装的nginx的版本。
2. 复制到linux系统想要放置的目录上并进行解压。
3. 解压完成后要进行安装,在安装时可能需要依赖的jar包,如果没有所依赖的jar包,可以使用yum命令直接自动安装所依赖的jar包。
Nginx需要依赖下面3个包
1. gzip 模块需要 zlib 库 ( 下载: http://www.zlib.net/ ) zlib-1.2.8.tar.gz
2. rewrite 模块需要 pcre 库 ( 下载: http://www.pcre.org/ ) pcre-8.21.tar.gz
3. ssl 功能需要 openssl 库 ( 下载: http://www.openssl.org/ ) openssl-1.0.1.tar.gz
注意:如果用源码安装的话,后面nginx安装的时候需要指定 --with-pcre对应的压缩包路径,如果用二进制包安装则不需指定
依赖包一键安装: yum -y install zlib zlib-devel openssl openssl--develpcre pcre-devel
yum -y groupinstall "Development Tools" "Development Libraries" 此命令可以一键安装开发工具包
所依赖的jar包安装完成后将进行nginx的安装,输入命令
# ./configure
# make
# sudo make install
至此已经安装完毕。(nginx将被默认安装到/usr/local/nginx目录下)
在这里我自己创建了一个自己的配置文件(给出配置文件的内容):
user nobody;
worker_processes 4;
events{
worker_connections 1024;
}
http{
upstream mypro{
server220.181.111.188; //负载的服务器ip
server58.56.83.207;
server36.110.174.100;
}
server{
listen8080; //对外提供的监听端口
location/ {
proxy_passhttp://mypro;
}
}
}
接下来是启动,停止,重启。
1.启动:
假设nginx安装在/usr/local/nginx/目录下,那么启动nginx的命令就是:
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/fzjh.conf
参数“-c”指定了配置文件的路径,如果不加-c参数,默认会加载安装目录下的conf子目录中的nginx.conf文件,在本例中使用的是我自己新创建的一个fzjh.conf的文件。
2. 停止
停止有很多种方式,一般通过发送系统信号给nginx主进程的方式来停止nginx。
我们可以通过ps命令来查找nginx的主进程号。
ps -ef | grep nginx
其中有一个进程的备注信息为“mater process”表示为主进程,另外四个进程的备注信息为“worker process”表示他们为子进程。
如果在nginx.conf配置文件中指定了pid文件的存放路径,该文件中存放的就是nginx当前的主进程号,如果没有指定pid文件存放的路径,nginx.id文件默认存放在安装目录的logs目录下,所有我们可以直接通过以下命令完成平滑重启,省下寻找nginx主进程号的步骤。
kill - 信号类型 '/usr/local/webserver/nginx/logs/nginx.pid'
(1) 从容停止nginx
kill - quit nginx主进程号
或
kill - quit '/usr/local/webserver/nginx/logs/nginx.pid'
(2) 快速停止
kill - term nginx主进程号
或
kill - term '/usr/local/webserver/nginx/logs/nginx.pid'
(3) 强制停止所有进程
kill -9 nginx
3. 平滑重启
如果修改了配置文件(nginx.conf)想重启nginx同样可以通过发送系统信号给nginx主进程的方式来进行。不过重启之前,要确认配置文件的语法是正确的。
可以通过命令来判断nginx配置文件是否正确:
/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/fzjh.conf
如果配置文件不正确,屏幕将会提示配置文件的第几行出错:
[emerg]:unknown directive "abc" in /usr/local/nginx/conf/fzjh.conf:55
configuration file /usr/local/nginx/conf/fzjh.conf test failed
如果配置文件正确,将提示:
the configuration file /usr/local/nginx/conf/fzjh.conf syntax is ok
configuration file /usr/local/nginx/conf/fzjh.conf test is successful
这时候就可以平滑重启nginx了
kill -hup nginx主进程号
kill -hup '/usr/local/webserver/nginx/logs/nginx.pid '