Nginx入门之安装部署
Nginx是一个开源、免费、高性能的HTTP和反向代理服务器,也可以用于IMAP/POP3代理服务器, 是目前市场上主流Web服务器之一。
Nginx的安装依赖三个库:pcre(正则表达式解析)
、zlib(数据压缩)
、openssl(SSL支持)
。 也可以选用jemalloc(内存管理)
来提升Nginx性能。
先安装这些依赖库, 以Ubuntu系统为例:
(需要先安装编译器GCC: sudo apt-get install build-essential
)
# 安装pcre
# 下载安装包
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
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 安装zlib
# 下载安装包
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
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 安装openssl
# 下载安装包
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
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 安装jemalloc
jemalloc主要是用来提升Nginx的内存管理性能,可选择性安装。如果安装了,则需要在安装nginx时,指定jemalloc路径。
# 下载安装包
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
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
# 安装Nginx
Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。
本文以Tengin替代官方Nginx进行安装: http://tengine.taobao.org/ (opens new window)
# 下载
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
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
**注意:**配置的时候 –with-pcre 、–with-openssl、–with-jemalloc、–with-zlib的路径为源文件的路径。
# Nginx启动/关闭
进入nginx安装目录:
cd sbin
sudo ./nginx # 启动
sudo ./nginx -s reload # 重启
sudo ./nginx -s stop # 停止
1
2
3
4
2
3
4
# Nginx管理脚本
每次关闭/启动Nginx都需要先切到Nginx安装目录,相对麻烦,分享一个Nginx管理脚本,可以直接通过简单命令实现Nginx的启动、关闭/重启/配置文件等功能。
# 新建脚本文件
将脚本文件放在sbin目录下:
sudo vim /usr/sbin/nginxd
1
# 脚本内容
#!/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
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
30
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
30
# 修改脚本执行权限
可以依据系统需要,修改脚本的执行权限,例如:
sudo chmod u+x,g+x nginxd
1
# Nginx管理脚本相关操作
- 启动Nginx:
sudo nginxd start
- 关闭Nginx:
sudo nginxd stop
- 重启Nginx:
sudo nginxd reload
- 检查Nginx是否启动:
sudo nginxd list
- 检查Nginx配置文件:
sudo nginxd testconfig
上次更新: 2022/12/01, 11:09:34