107 nginx安装 使用 部署web站点 nginx虚拟主机

主要内容: https://www.cnblogs.com/pyyu/p/9468680.html?tdsourcetag=s_pcqq_aiomsg

web服务器和web框架的关系:

  a : web服务器(nginx): 接收http请求(例如www.pythonav.cn/xiaocang.jpg)并返回数据

  b : web框架(django, flask): 开发web应用程序

2 nignx定义

  a : nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件。它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用。

  b : nginx比它大哥apache性能改进许多,nginx占用的系统资源更少,支持更高的并发连接,有更高的访问效率。

  c : nginx不但是一个优秀的web服务软件,还可以作为反向代理,负载均衡,以及缓存服务使用。

  常见的服务器:  IIS、Nginx 和 Apache, IIS(Internet Information Services,互联网信息服务)是 Windows 系统中默认的 Web 服务程序.

  Tengine是由淘宝网发起的Web服务器项目。它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验。它的最终目标是打造一个高效、稳定、安全、易用的Web平台。

3 nignx的安装

  1.解决依赖关系
    yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
  2.下载源码包
    wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
  3.解压缩源码包
    tar -zxvf nginx-1.12.0
  4.在当前路径下通过configure这个脚本文件执行,释放makefile,然后指定安装nginx的路径,以及开启模块功能ssl与状态模块功能
    ./configure --prefix=/opt/nginx1-12/ --with-http_ssl_module --with-http_stub_status_module
  5.编译且编译安装
    make && make install
  6.在/opt/nginx1-12/ 安装好nginx的目录,找到一个sbin的文件夹,找到nginx的启动命令,然后启动nginx服务

    ./sbin/nginx #直接启动nginx
    ./sbin/nginx -s stop
    ./sbin/nginx -s reload #平滑重启(修改了nginx配置文件,不重启服务就加载配置且生效)
    ../sbin/nginx -t 检测nginx.conf 配置文件的语法正确性

  7 .检查端口,进程,: ps - ef | grep 'nginx'   netstat - tunlp | 80然后通过浏览器访问nginx页面,linux

ip:端口号

  8 nignx的主配置文件, 在nginx.conf修改

4部署一个web站点:  nginx默认站点是在nginx目录下的html文件中, 这里从nginx.conf中查到.

 location /{
            root   html;  #这里是默认的站点html文件夹,也就是 /opt/nginx1-12/html/文件夹下的内容
            index  index.html index.htm; #站点首页文件名是index.html
        }

  如果想要部署网站业务数据, 只需把开发好的程序放在html目录下即可

  只需通过域名就可以访问.

5 nignx的目录结构:

  a : conf 存放nginx所有配置文件的目录, 主要是nginx.conf

  b : html存放nginx默认站点的目录: 如index.html. error.html

  c : logs存放nignx默认日志的目录, 如access.log, error.log

  d : sbin 存放nignx主命令的目录, sbin/nignx

6 nignx的主配置文件的解析: 详情见老师博客

7 虚拟主机

  a : 定义虚拟主机的概念就是在web服务里的一个独立的网站站点, 这个站点对应独立的域名(ip), 具有独立的程序和资源目录, 可以独立的对外提供服务.

  b : 这个独立的站点是在nignx.conf的配置文件中设置, 使用server{}代码块标签来表示一个虚拟主机

  c : nignx支持多个server{}标签, 即支持多个虚拟主机站点

  d :虚拟主机的类型: 基于域名的虚拟主机, 通过不同的域名区分不同的虚拟主机,是企业应用最广的虚拟主机

            基于端口的虚拟主机, 通过不同的端口区分不同的虚拟主机, 一般用作企业内部网站,不对外直接提供服务的后台,例如www.pythonav.cn:9000.

8nginx状态信息配

  1) 监测nignx是否安装了status模块: /opt/nginx/sbin/nginx -V

  2) 启动status状态功能, 修改配置文件: 

#在访问ip/status的时候,进入状态功能        
location /status {
        #开启nginx状态功能
             stub_status on;
}          

  3) 平滑重启nignx:  ./sbin/nignx -s reload

  4) 访问status页面: http://www.myhanjutv.com/status

  5) status页面解析的解释:   

9 多虚拟主机的配置:

  1 修改nignx底下的配置文件:

server {
			listen       80;
			server_name  www.s14huoying.com;
			location / {
				#指明网页根目录在/opt/html/文件夹下
				root   /data/huoying;
				index  index.html index.htm;
			}
			}
		server {
			listen       80;
			server_name  www.s14hanju.com;
			location / {
				#指明网页根目录在/opt/html/文件夹下
				root   /data/hanju;
				index  index.html index.htm;
			}
			}

  2 重新加载nignx配置文件:  ../sbin/nignx   -t                  检查语法是否正确

              ../sbin/nignx   -s   reload    平滑重启

  3 准备不同虚拟主机的站点资料:  mkdir  -p  /data/{hanju,huoying}

  4 写入到本地dns解析文件, 由于我在windows中通过浏览器访问, 应该在windows的host文件中添加记录

    hosts文件就是一个本地dns(就是将域名转化成ip地址)强制解析的文件

    在C:WindowsSystem32driversetchosts ,写入如下信息192.168.12.96   www.s14huoying.com

  5  在wiindows中,测试访问多域名 配置.

10 nignx访问日志功能

  1 在配置文件中, 打开注释

log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log  main;
	

  2 参数详解:

$remote_addr    记录客户端ip
$remote_user    远程用户,没有就是 “-”
$time_local    对应[14/Aug/2018:18:46:52 +0800]
$request     对应请求信息"GET /favicon.ico HTTP/1.1"
$status      状态码
$body_bytes_sent  571字节 请求体的大小
$http_referer  对应“-”  由于是直接输入浏览器就是 -
$http_user_agent  客户端身份信息
$http_x_forwarded_for  记录客户端的来源真实ip 97.64.34.118

  3打开该功能后, 可通过tail -f  access_log 来查看用户的身份信息.

10 错误页面的展

  1 在配置文件中添加  nignx.conf

server {
			listen       80;
			server_name  www.s14huoying.com;
			location / {
				#指明网页根目录在/opt/html/文件夹下
				root   /data/huoying;
				index  index.html index.htm;
				deny 192.168.12.120;
			}
			error_page  400 401 402 404   /40x.html;
			#当请求来自于wwww.s14huoying.com/status/
	}

  

原文地址:https://www.cnblogs.com/gyh412724/p/10077679.html