Nginx入门之安装部署

Nginx是一个开源、免费、高性能的HTTP和反向代理服务器,也可以用于IMAP/POP3代理服务器, 是目前市场上主流Web服务器之一。

Nginx的安装依赖三个库:pcre(正则表达式解析)zlib(数据压缩)openssl(SSL支持)。 也可以选用jemalloc(内存管理)来提升Nginx性能。

先安装这些依赖库, 以Ubuntu系统为例: (需要先安装编译器GCC: sudo apt-get install build-essential)

安装pcre

1
2
3
4
5
6
7
8
9
10
11
# 下载安装包
wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz
# 解压
tar zxvf pcre-8.43.tar.gz
cd pcre-8.43
# 配置编译参数
./configure --prefix=/usr/local/pcre
# 编译
make
# 安装
sudo make install

安装zlib

1
2
3
4
5
6
7
8
9
10
11
# 下载安装包
wget http://www.zlib.net/zlib-1.2.11.tar.gz
# 解压
tar zxvf zlib-1.2.11.tar.gz
cd zlib-1.2.11
# 配置编译参数
./configure --prefix=/usr/local/zlib
# 编译
make
# 安装
sudo make install

安装openssl

1
2
3
4
5
6
7
8
9
10
11
# 下载安装包
wget https://www.openssl.org/source/openssl-1.0.2s.tar.gz
# 解压
tar zxvf openssl-1.0.2s.tar.gz
cd openssl-1.0.2s
# 配置
./config --prefix=/usr/local/openssl
# 编译
make
# 安装
sudo make install

安装jemalloc

jemalloc主要是用来提升Nginx的内存管理性能,可选择性安装。如果安装了,则需要在安装nginx时,指定jemalloc路径。

1
2
3
4
5
6
7
8
9
10
11
# 下载安装包
wget https://github.com/jemalloc/jemalloc/releases/download/5.2.0/jemalloc-5.2.0.tar.bz2
# 解压
tar xvf jemalloc-5.2.0.tar.bz2
cd jemalloc-5.2.0
# 配置编译参数
./configure --prefix=/usr/local/jemalloc
# 编译
make
# 安装
sudo make install

安装Nginx

Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

本文以Tengin替代官方Nginx进行安装: http://tengine.taobao.org/

1
2
3
4
5
6
7
8
9
10
11
# 下载
wget http://tengine.taobao.org/download/tengine-2.3.0.tar.gz
# 解压
tar zxvf tengine-2.3.0.tar.gz
cd tengine-2.3.0
# 配置编译参数
./configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.43 --with-zlib=../zlib-1.2.11 --with-openssl=../openssl-1.0.2s --with-jemalloc=../jemalloc-5.2.0 --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module --with-http_realip_module
# 编译
make
# 安装
sudo make install

注意:配置的时候 –with-pcre 、–with-openssl、–with-jemalloc、–with-zlib的路径为源文件的路径。

Nginx启动/关闭

进入nginx安装目录:

1
2
3
4
cd sbin
sudo ./nginx # 启动
sudo ./nginx -s reload # 重启
sudo ./nginx -s stop # 停止

Nginx管理脚本

每次关闭/启动Nginx都需要先切到Nginx安装目录,相对麻烦,分享一个Nginx管理脚本,可以直接通过简单命令实现Nginx的启动、关闭/重启/配置文件等功能。

新建脚本文件

将脚本文件放在sbin目录下:

1
sudo vim /usr/sbin/nginxd

脚本内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
# description: Startup and shutdown script for nginx
ulimit -n 65535

NGINX_DIR=/usr/local/nginx
export NGINX_DIR

case $1 in
'start' )
echo "Starting nginx..."
$NGINX_DIR/sbin/nginx
;;
'reload' )
echo "Reload nginx configuration..."
kill -HUP `cat /var/run/nginx.pid`
;;
'stop' )
echo "Stopping nginx..."
kill -15 `cat /var/run/nginx.pid`
;;
'list' )
ps aux | egrep '(PID|nginx)'
;;
'testconfig' )
$NGINX_DIR/sbin/nginx -t
;;
*)
echo "usage: `basename $0` {start|reload|stop|list|testconfig}"
esac

修改脚本执行权限

可以依据系统需要,修改脚本的执行权限,例如:

1
sudo chmod u+x,g+x nginxd

Nginx管理脚本相关操作

  • 启动Nginx: sudo nginxd start
  • 关闭Nginx: sudo nginxd stop
  • 重启Nginx: sudo nginxd reload
  • 检查Nginx是否启动: sudo nginxd list
  • 检查Nginx配置文件: sudo nginxd testconfig
有用就打赏一下作者吧!