Nginx服务器安装和使用

【 什么是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作为安装环境。
  •  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
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
yum install -y zlib zlib-devel
 
  • openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
yum install -y openssl openssl-devel
 
4. 安装步骤

  • 第一步:把nginx的源码的压缩包上传到linux系统。可以直接复制粘贴(用鼠标,不能用快捷键),或者写put -r(文件夹写-r,文件可以不用写)+“文件路径”


  • 第二步:把压缩包解压缩(tar -zxvf +文件名)。


解压后,他会在压缩包的相同路径下创建他的解压缩文件


  • 第三步:进行configure。
先把目标定位到nginx的解压文件上
输入下面的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

第五步:make install
 

第六步:检验,此时你重新建立的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. 通过端口区分虚拟机
在nginx.conf文件中添加一个Service节点(即复制一份service,修改端口号即可),修改端口号就可以,为了看出修改端口号的网页区别,也修改一下虚拟主机的根目录为root html81;
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;即
打开html81,找到index.html,把标题加上81,这样做只是为了在运行网页时看出区别,证明 利用端口区分虚拟主机的实现。
保存后,运行网页,80端口显示结果:

81端口显示结果:



  • 2. 通过域名区分虚拟机
a. 域名介绍
 
可以通过原系统修改host文件指定域名的ip地址。
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修改一下如
修改配置后需要重新加载配置文件./nginx -s reload。
结果:





评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值