Linux[CentOS]下编译安装Nginx 步骤
介绍
Nginx 是一个很牛的高性能Web和反向代理服务器, 它具有有很多非常优越的特性:
- Nginx在美国是做虚拟主机生意的老板们经常选择的软件平台之一. 能够支持高达 50,000 个并发连接数的响应
- Nginx 既可以在内部直接支持 Rails 和 PHP 程序对外进行服务, 也可以支持作为 HTTP代理 服务器对外进行服务. Nginx采用C进行编写, 不论是系统资源开销还是CPU使用效率都比 Perlbal 要好很多.
- 作为邮件代理服务器: Nginx 同时也是一个非常优秀的邮件代理服务器(最早开发这个产品的目的之一也是作为邮件代理服务器), Last.fm 描述了成功并且美妙的使用经验.
以上摘抄自网络
目前在手的服务器是一台1M的学生机,安装的服务器是Apache,以前也是相安无事,但自从流量较多后,时不时卡顿,服务器负载经常10-30。
于是切换至Nginx,不知道是不是心理作用,真的感觉不那么卡顿了。【应付并发真牛!】
下面记录下安装步骤。
安装
官网
官网下载页面:http://nginx.org/en/download.html
我们这里直接选择wget安装就是,不用先下载到Windows再上传。
安装依赖
先安装编译需要的依赖:
yum -y install pcre-devel gcc gcc-c++ autoconf automake make zlib-devel openssl openssl-devel
下载/解压Nginx
下载
wget -c http://nginx.org/download/nginx-1.16.1.tar.gz
这里选择1.16.1 稳定版
你也可以先下载好,再上传到Linux也行。
解压
tar -zxvf nginx-1.16.1.tar.gz
配置编译
配置
cd nginx-1.16.1 # 进入到解压目录
./configure --prefix=/usr/local/nginx
参数说明:
- --prefix 用于指定nginx编译后的安装目录
这里可以安装其它模块,比如支持https(ssl)的模块,我们先一切从简即可。
显示如下内容,则说明配置没错了:
编译安装
make && make install
出现以上内容,基本就完成了。
进入安装目录,启动服务器
cd /usr/local/nginx
初始安装完成,该目录只有4个文件夹:conf html logs sbin
- conf 配置文件目录
- html 网站的静态文件目录
- sbin 一些可执行文件目录,例如启动nginx就要执行该文件夹下面nginx命令
进入sbin
cd sbin
启动
./nginx -c /usr/local/nginx/conf/nginx.conf
后面的-c参数是说指定配置文件
执行成功后,并无任何显示,可用
ps -ef | grep nginx
查看进程:
访问服务器IP,看到如下界面,则说明安装成功了:
补充
关闭/重启
重启
nginx -s reload
关闭
./nginx -s stop
就没有进程了,还有关闭方法:
通过kill nginx的进程号 【进程即
ps -ef | grep nginx
命令查询出来的进程号】
软链接
目前启动、重启、关闭我们都要进入/usr/lcoal/nginx/sbin
下目录通过./nginx
执行,更简单的办法就是创建一个软链接到/usr/bin/nginx
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
然后,在任意目录执行nginx
都行了。
其他命令
- 检测配置文件是否合法:nginx -t
- 查看版本:nginx –V
添加新的模块
如上我们配置nginx时,没有加一个模块。那么如何在安装nginx后添加一个新模块呢?
步骤
1、进入nginx的源码目录
2、重新执行配置
./configure --prefix=/usr/local/nginx --with-http_ssl_module
本次我们加上了http_ssl_module模块,当然还是是安装到usr/local/nginx
3、执行make
注意!!!千万别执行
make install
,不要回覆盖安装!!!!!
执行make完毕后,会有一个objs目录,然后在objs目录会有一个新的nginx执行文件:
4、备份旧的nginx程序,并将新的nginx复制到旧的目录
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak #备份旧的
cp -f nginx /usr/local/nginx/sbin/nginx # 复制新的nginx到/usr/local/nginx
# 执行上面这条复制命令,确保在objs目录,不然路径不对
5、测试新的nginx程序是否正确
cd /usr/local/nginx/sbin #进入/usr/local/nginx/sbin
./nginx -t
6、重启nginx
./nginx -s reload
7、查看模块是否已安装
./nginx -V
8、重启Nginx
./nginx -s quit
./nginx
到此,新增模块就完毕了!

