Gitlib Gitlib
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)

Ravior

以梦为马,莫负韶华
首页
  • 分类
  • 标签
  • 归档
  • Golang开发实践万字总结
  • MySQL核心知识汇总
  • Redis实践总结
  • MQ实践万字总结
  • Docker数据持久化总结
  • Docker网络模式深度解读
  • 常用游戏反外挂技术总结
  • 读书笔记
  • 心情杂货
  • 行业杂谈
  • 友情链接
关于我
GitHub (opens new window)
  • 操作系统

  • 计算机网络

  • 数据结构和算法

  • MySQL

  • Redis

  • Nginx

    • Nginx入门之安装部署
      • 安装pcre
      • 安装zlib
      • 安装openssl
      • 安装jemalloc
      • 安装Nginx
      • Nginx启动/关闭
      • Nginx管理脚本
        • 新建脚本文件
        • 脚本内容
        • 修改脚本执行权限
        • Nginx管理脚本相关操作
    • Nginx高级用法总结
    • Nginx使用常见问题汇总
    • Nginx与HAProxy负载均衡比较
    • Nginx status状态详解
    • Nginx常见问题之Location优先级
    • Nginx+Keepalived搭建高可用集群
    • Nginx实战灰度发布
    • 常见负载均衡算法
  • MongoDB

  • 其他

  • 计算机基础
  • Nginx
Ravior
2016-03-07
目录

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

# 安装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

# 安装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

# 安装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

# 安装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

**注意:**配置的时候 –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

# 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

# 修改脚本执行权限

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

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
#Nginx
上次更新: 2022/12/01, 11:09:34
Memcached安装部署
Nginx高级用法总结

← Memcached安装部署 Nginx高级用法总结→

最近更新
01
常用游戏反外挂技术总结
11-27
02
Golang开发实践万字总结
11-11
03
Redis万字总结
10-30
更多文章>
Theme by Vdoing | Copyright © 2011-2022 Ravior | 粤ICP备17060229号-3 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式