常见网站服务
  • 静态资源
apache.org
nginx.org
  • 动态资源
PHP:php.net    终端浏览器进行访问
tomcat:        利用移动端进行访问
python:       开发难度较低
nginx服务的软件特点
①支持高并发、消耗资源少
②具有多种功能
③网站web服务功能——————apche
④网站负载均衡功能----LVS
⑤网站缓存服务——————squid
⑥多种平台部署
⑦nginx实现网络通信使用的异步I/O模型,epoll模型(select模型---apche)

epoll模型:
    找人,根据登记的去找(索引找)

select模型:
    招人,一个一个去问,线性轮询(全部扫描一遍)

image.png

nginx网站服务安装
1、yum安装
    a、使用官方yum源,版本新,目录规范
        vim /etc/yum.repos.d/nginx.repo
        
        yum install -y nginx    #安装nginx
        systemctl start nginx   #启动nginx
        systemctl enabled nginx  #开机自启
    b、使用非官方yum源
    
2、编译安装
    a、wget http://nginx.org/download/nginx-1.16.0.tar.gz
    PS:解决依赖openssl-devel pcre-devel
    b、解压下载好的软见包,进入目录
    c、编译安装三部曲:
        ①配置   ./configure 选项    ./configure --help 
        ②编译    make
        ⑤安装    make install       echo $?   #查看上一步操作是否成功
nginx目录结构
路径信息类型信息作用
/etc/logrotate.d/nginx配置文件日志轮训切割
/etc/nginx 配置文件nginx主配置文件
/etc/nginx/nginx.conf配置文件nginx主配置文件
/etc/nginx/conf.d配置文件nginx主配置文件
/etc/nginx/conf.d/default.conf配置文件nginx主配置文件
/etc/nginx/fastcgi_params配置文件cgi、fastcgi、uwcgi主配置文件
/etc/nginx/scgi_params配置文件cgi、fastcgi、uwcgi主配置文件
/etc/nginx/uwscgi_params配置文件cgi、fastcgi、uwcgi主配置文件
/etc/nginx/koi-utf配置文件nginx编码转换映射配置文件
/etc/nginx/koi-win配置文件nginx编码转换映射配置文件
/etc/nginx/win-utf配置文件nginx编码转换映射配置文件
/etc/nginx/mime.types配置文件http协议的content-type与扩展名
/usr/lib/systemd/system/nginx-debug.service配置文件nginx守护进程文件
/usr/lib/systemd/system/nginx.service配置文件nginx守护进程文件
/etc/nginx/modules配置文件nginx模块目录
/etc/lib64/nginx配置文件nginx模块目录
/etc/lib64/nginx/modules配置文件nginx模块目录
/usr/sbin/nginx命令信息nginx终端管理命令
/usr/sbin/nginx-debug命令信息nginx终端管理命令
/usr/share/doc/nginx-1.14.2目录信息nginx帮助手册
/usr/sbin/man/man8/nginx.8.gz目录信息nginx帮助手册
/usr/sbin/share/nginx目录信息nginx默认站点目录
/usr/sbin/share/nginx/html目录信息nginx默认站点目录
/usr/sbin/share/nginx/html/50X.html目录信息nginx默认站点目录
/usr/sbin/share/nginx/html/index.html目录信息nginx默认站点目录
/var/cache/nginx目录信息nginx缓存目录信息
/var/log/nginx目录信息nginx日志目录信息
日志切割方法一:利用脚本切割
    #!/bin/bash
    mv /var/log/nginx/access.log /var/log/nginx/access_$(date + %F).log
    systemctl restart nginx
    
日志切割方法二:利用文件切割程序--logrotate
    vim /etc/logrotate.conf             #配置文件
    
    
nginx服务配置文件
vim /etc/nginx/nginx.conf    #主配置文件
    user nginx;   -----定义worker进程管理的用户
       PS:nginx进程
          master process:主进程,Boss
          worker process:工作进程,员工
    worker_process:1    -----工作进程的个数,最好等于硬件服务器cpu的核数或者核数的2倍
    error_log /var/log/nginx/error.log
    pid /var/run/nginx.pid    ----nginx启动之后就会存在一个文件(linux一切皆文件,一个启动进程对应一个文件)
    events{
        worker_connections 1024;  ---一个worker进程可以同时接受1024个请求
    }
    
    http{
        include /etc/nginx/mime.types;----加载一个配置文件
        default_type application/octet-stream;  ---默认识别文件类型
        log_format 。。。    ----日志格式
        access_log  。。。   ----日志路径
        sendfile on;    ----优化使用
        #tcp_nopush on;  ----优化使用
        keepalive_timeout 65;  ---超时时间(单位是s)
        #
    
    }
    
    
vim /etc/nginx/nginx.d/default     #扩展配置(虚拟主机配置文件)

server模块                 #网站/站点/虚拟主机
server{
    listen 80;                  #要监听的端口
    server_name localhost;      #网站域名
    location / {                
        root /usr/share/nginx/html;  #站点目录
        index index.html index.htm;  #默认访问
        
    }
    error_page 500 502 503 504 /50x.html     #优雅的显示文件信息
    location = /50x.html{
        root /usr/share/nginx/html
    }
    


}
nginx服务的企业应用
1、利用nginx搭建网站
   a、编写主机配置文件
      cd /etc/nginx/conf.d/
      vim www.conf
      server{
        listen    80;
        server_name  www.name.com;
        locatioin  / {
            root /usr/share/nginx.html
            index test.html
        }
        
      }
    b、获取项目文件
    c、重启nginx启动——平滑重启    
        systemctl reload nginx    
        nginx --help    #提供nginx 信息
        nginx -T
        nginx -t      #语法检测
    d、编写DNS配置信息
       真实域名:购买域名,在阿里云上配置,注意需要备案
       模拟域名:hosts
        
nginx配置文件默认参数说明
1、location的原理
nginx简单网站搭建(html)
nginx服务常见应用
虚拟主机访问方式
1、基于域名的方式访问

2、基于地址的方式访问:只能使用指定的地址----负载均衡+高可用服务
    nginx涉及到地址的修改,需要重新启动服务,平滑重启没有左右

3、基于端口方式访问:zabbix服务(apache) + web服务(nginx)——主机
网站页面的访问原理
1、域名解析
2、TCP链接(四次协议)——目标端口

3、根据引用层HTTP协议发出请求
    请求报文
    
4、没有相同域名的server,解析的时候匹配第一个配置的文件
nginx搭建多个网站
1、创建多个虚拟主机配置文件

2、在站点创建文件目录

3、编写hosts解析文件

4、systemctl reload nginx
安全配置
1、根据用户访问的地址访问
    10.0.0.0/24    www.test.com/AV/  不能访问
    172.16.1.0/24   www.test.com/AV/  可以访问
    
    nginx访问模块:nginx_http_auth_basic_module
    location / {
      deny 
        allow 
    }
   
    
  2、根据用户访问进行认证
    nginx访问模块:nginx_http_access_module
    location / {
      
         auth_basic     "closed site";    ---开启用户认证功能
       auth_basic_user_file  conf/htpasswd;   ---加载用户密码文件   
    }
    PS:配置文件中的路径最好使用相对路径
    密码文件中的内容必须是密文
    chmod 600 ./passwd
    
    curl 域名IP -u test:123456    #提供用户密码访问
    
    
    
nginx的uri匹配处理
location =  xxx   #精确匹配
location ^~  xxx  #优先匹配
location ~        #区分大小写
location ~*       
location uri      #根据uri进行匹配
location /        #默认匹配

LNMP
L——linux
注意:
    a、selinux必须关闭   防火墙关闭
    b、/tmp 1777权限     mysql服务无法启动
    

N——nginx服务
作用:
    a、处理静态文件

P——php服务部署
作用:
    a、动态数据供应商
    b、和数据库建立连接
   1、卸载——php服务(自带的)
        yum remove php php-fpm php-common
   2、更新yum源
        rpm -Uvh 。。。
   3、安装php服务
    
M——mysql服务
    a、yum安装——慢
    b、编译安装会报错
    
    
部署:
    1、 获取代码信息(git)
    2、 
        www网站页面:http://www.dedecms.com/
        bbs网站页面:http://www.discuz.net/forum.php
        blog网站页面:https://cn.wordpress.org
        wecenter网站页面:https://www.wecenter.com/?copyright
     
     3、解压代码放入到站点目录中
     4、修改站点目录权限
        chown -R 
        
     5、网站初始化
    

    

~~image.png
~~

常见错误
1、配置文件书写问题
    404:
        a、修改nginx配置文件——location
        b、在站点目录创建相应的目录文件
    403:
        a、不要禁止访问
        b、没有首页文件
    500:
        a、内部程序代码编写有问题
        b、程序服务中文件权限不正确       

386


撸猫鼠
10 声望1 粉丝

« 上一篇
linux网络实操
下一篇 »
Linux优化