【 什么是nginx】
Nginx是一个使用c语言开发的高性能的http服务器及反向代理服务器。
Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
【Nginx的应用场景】
1. http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
2. 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3. 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
【Nginx的安装】
Nginx一般推荐安装到linux系统,而且要安装c语言的编译环境gcc。(注:小编应用的是VMWare12虚拟环境和linux centOS7的系统,CentOS7有界面,这样省略了很多查linux系统命令的时间,也是一种偷懒方法)
1. 进入系统,此时要记住要使用root名进入系统,这样你才能以最高权限进入系统,也方便对文件和文件夹的操作。
2. 下载:
进入http://nginx.org/en/download.html 下载nginx,我用的是1.8.1版本。
3.安装nginx依赖的包:
nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。
yum install -y zlib zlib-devel
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
4. 安装步骤
输入下面的configure命令
./configure \
--prefix=/usr/nginx \ #nginx配置的存放路径,nginx文件夹需要自己建立
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
第五步:make install
第六步:检验,此时你重新建立的nginx配置文件夹下就会出现这样三个文件夹
如果访问不到,首先查看防火墙是否关闭。
centOS7关闭防火墙命令
关闭防火墙:sudo systemctl stop firewalld.service
关闭开机启动:sudo systemctl disable firewalld.service
2、关闭nginx:
可以使用kill命令,但是不推荐使用。
推荐使用:./nginx -s stop
刷新配置:./nginx -s reload
3、 Nginx的配置
在安装完Nginx以后,找到它的配置文件存放路径(如我存放的是/usr/nginx),在nginx文件下有个conf目录,/conf目录下nginx.conf文件是nginx的配置文件,双击打开。
在虚拟机的配置文件的目录中找到html文件,把他复制一份,把名称修改为html81;即
打开html81,找到index.html,把标题加上81,这样做只是为了在运行网页时看出区别,证明 利用端口区分虚拟主机的实现。
保存后,运行网页,80端口显示结果:
可以通过原系统修改host文件指定域名的ip地址。
Host文件的位置:C:\Windows\System32\drivers\etc
因为系统对于该文件都有保护级别,所以你无法对他进行修改,但是小编在这里可以教你一种方法:
找到该文件
b. 配置基于域名的虚拟主机
回到虚拟机系统中,需要修改nginx.conf配置文件。如上边通过端口区分虚拟机的操作过程,在nginx.conf文件中再添加三个service,只需要修改一下修改一下虚拟主机的根目录如
在虚拟机的配置文件的目录中找到html文件,把他复制三份份,把名称修改为你在配置文件你自行定义的虚拟主机的根目录,并把其中的index.html修改一下如
修改配置后需要重新加载配置文件./nginx -s reload。
结果:


Nginx是一个使用c语言开发的高性能的http服务器及反向代理服务器。
Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
【Nginx的应用场景】
1. http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
2. 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3. 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
【Nginx的安装】
Nginx一般推荐安装到linux系统,而且要安装c语言的编译环境gcc。(注:小编应用的是VMWare12虚拟环境和linux centOS7的系统,CentOS7有界面,这样省略了很多查linux系统命令的时间,也是一种偷懒方法)
1. 进入系统,此时要记住要使用root名进入系统,这样你才能以最高权限进入系统,也方便对文件和文件夹的操作。
进入http://nginx.org/en/download.html 下载nginx,我用的是1.8.1版本。
3.安装nginx依赖的包:
nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境。
- gcc
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc:
yum install gcc-c++
- PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
yum install -y pcre pcre-devel- zlib
yum install -y zlib zlib-devel
- openssl
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
4. 安装步骤
- 第一步:把nginx的源码的压缩包上传到linux系统。可以直接复制粘贴(用鼠标,不能用快捷键),或者写put -r(文件夹写-r,文件可以不用写)+“文件路径”
- 第二步:把压缩包解压缩(tar -zxvf +文件名)。
解压后,他会在压缩包的相同路径下创建他的解压缩文件
- 第三步:进行configure。
./configure \
--prefix=/usr/nginx \ #nginx配置的存放路径,nginx文件夹需要自己建立
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
注意:上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
- 第四步:make
第六步:检验,此时你重新建立的nginx配置文件夹下就会出现这样三个文件夹
【Nginx的启动、停止】
1、启动:进入nginx的sbin目录,./nginx就可以启动。如果访问不到,首先查看防火墙是否关闭。
centOS7关闭防火墙命令
关闭防火墙:sudo systemctl stop firewalld.service
关闭开机启动:sudo systemctl disable firewalld.service
2、关闭nginx:
可以使用kill命令,但是不推荐使用。
推荐使用:./nginx -s stop
刷新配置:./nginx -s reload
3、 Nginx的配置
在安装完Nginx以后,找到它的配置文件存放路径(如我存放的是/usr/nginx),在nginx文件下有个conf目录,/conf目录下nginx.conf文件是nginx的配置文件,双击打开。
【使用nginx配置虚拟机】
- 1. 通过端口区分虚拟机
server {
listen 81;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html81;
index index.html index.htm;
}
}
在虚拟机的配置文件的目录中找到html文件,把他复制一份,把名称修改为html81;即
81端口显示结果:
- 2. 通过域名区分虚拟机
Host文件的位置:C:\Windows\System32\drivers\etc
因为系统对于该文件都有保护级别,所以你无法对他进行修改,但是小编在这里可以教你一种方法:
找到该文件
把它拖到桌面上
以记事本方式打开hosts文件,加入你想要测试的域名如
保存,再把它拖回到源文件夹中即可
b. 配置基于域名的虚拟主机
回到虚拟机系统中,需要修改nginx.conf配置文件。如上边通过端口区分虚拟机的操作过程,在nginx.conf文件中再添加三个service,只需要修改一下修改一下虚拟主机的根目录如
server {
listen 80;
server_name test.taotao.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html-test;
index index.html index.htm;
}
}
server {
listen 80;
server_name test2.taotao.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html-test2;
index index.html index.htm;
}
}
server {
listen 80;
server_name test3.taotao.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html-test3;
index index.html index.htm;
}
}
在虚拟机的配置文件的目录中找到html文件,把他复制三份份,把名称修改为你在配置文件你自行定义的虚拟主机的根目录,并把其中的index.html修改一下如
结果: