初识nginx

Nginx是一款轻量级的HTTP服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的IO性能,时常用于服务端的反向代理和负载均衡。开源且高性能、可靠的HTTP中间件和代理服务器。

Nginx的优势:

  • IO多路复用:多个描述符的Ngnix工作进程绑定方式,把每个worker进程固定在一个CPU核上执行
  • sendfile: 零拷贝传输模式,不需要经过用户空间

环境搭建

安装依赖库

1
2
3
4
5
6
7
8
9
apt-get install build-essential
apt-get install libtool

sudo apt-get update
sudo apt-get install libpcre3 libpcre3-dev

apt-get install zlib1g-dev

apt-get install openssl

安装如果出现出现了Package has no installation candidate的问题

1
2
3
apt-get update
apt-get upgrade
apt-get install <packagename>

安装nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#下载最新版本:
wget http://nginx.org/download/nginx-1.14.0.tar.gz
# 解压:
tar -zxvf nginx-1.14.0.tar.gz
#进入解压目录:
cd nginx-1.14.0
#配置:
# prefix 编译的时候用来指定程序存放路径
./configure --prefix=/usr/local/nginx
#编辑nginx:
make
#安装nginx:
sudo make install
# 查看nginx安装在什么位置
whereis nginx
#启动nginx:
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
注意:-c 指定配置文件的路径,不加的话,nginx会自动加载默认路径的配置文件,可以通过 -h查看帮助命令。
#查看nginx进程:
ps -ef|grep nginx
# 关闭nginx
sudo /usr/local/nginx/sbin/nginx -s stop

浏览器输入localhost显示nginx启动成功。端口默认是80端口。以使用华为云服务器为例,在安全组添加两条规则:ICMP、TCP,添加了ICMP就能ping通,添加TCP时端口选择nginx对应的端口即可在外网访问nginx。