网站服务部署

一. 常用的网站服务软件


    处理静态资源的服务:
    apache软件: http://apache.org/
    nginx软件: http://nginx.org
    
    处理动态资源的服务:
    PHP: php.net    终端浏览器进行访问  ***
    Tomcat(java):   利用移动端查看网页  安卓-java
    PYTHON:         开发难度比较低      

二. nginx服务的软件特点


    1) 支持高并发,消耗内存资源少
    2) 具有多种功能
       网站web服务功能      --- apache 
       网站负载均衡功能     --- LVS
       网站缓存服务            --- Squid
    3) 在多种系统平台都可以进行部署
    4) nginx实现网络通讯时使用的时异步网络IO模型: epoll模型(apache -- select模型)
       epoll模型:
       宿舍管理员: 找人,查看人员登记信息 
       幼儿园阿姨: 小朋友上厕所, 都站在教室的某个位置
       
       select模型:
       宿舍管理员: 找人,一个一个屋子去问, --线性轮询
       幼儿园阿姨: 小朋友上厕所, 一个一个小朋友去询问
       


三. nginx软件的安装部署过程


    两种安装方式:
    01. yum安装软件
        a 使用官方yum源进行安装    安装的是最新版本  软件目录结构比较标准 (推荐)
        b 使用非官方yum源进行安装  安装的不是最新版  目录结构会发生变化
    02. 编译安装软件  

第一个步骤:
wget http://nginx.org/download/nginx-1.16.0.tar.gz
PS: 解决软件的依赖 openssl-devel pcre-devel
第二个步骤: 
解压下载好的软件, 并进入到软件目录中
第三个步骤:
编译安装三步曲
a 进行配置操作
./configure --prefix=  --user=USER 
--prefix=PATH     set installation prefix    
                  指定程序安装路径
--user=USER       set non-privileged user for worker processes
                  设置一个虚拟用户管理worker进程(安全)
--group=GROUP     set non-privileged group for worker processes
                  设置一个虚拟用户组管理worker进程(安全)
b 进行软件的编译过程:
make 编译(翻译)    
C(英国人)       代码(任务文件)  系统识别  翻译  系统(中国人)处理代码
翻译效率比较低  翻译官(gcc)
python(日本人)  代码(任务文件)  系统识别  翻译  系统(中国人)处理代码
翻译效率比较高  百度翻译(python解释器)  
        
c 编译安装过程
make install


    yum官方源安装方法:
  

第一个历程: 更新nginx官方yum源
vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
    
第二个历程: yum安装nginx软件
yum install -y nginx

第三个历程: 启动nginx服务,检查服务是否安装正确
systemctl start nginx
systemctl enable nginx
测试访问nginx服务 


四. 查看软件的目录结构


    1) /etc/logrotate.d
       实现nginx日志文件定时切割处理
       日志切割方法一: 利用脚本实现切割
      

#!/bin/bash
       
mv /var/log/nginx/access.log  /var/log/nginx/access_$(date +%F).log
systemctl restart nginx


       日志切割方法二: 利用专用文件切割程序--logrotate
      

vim /etc/logrotate.conf
# rotate log files weekly
weekly                     --- 定义默认日志切割的周期
       
# keep 4 weeks worth of backlogs
rotate 4                   --- 定义只保留几个切割后的文件
       
# create new (empty) log files after rotating old ones
create                     --- 创建出一个相同的源文件
       
# use date as a suffix of the rotated file
dateext                    --- 定义角标(扩展名称信息)
       
# uncomment this if you want your log files compressed
#compress                  --- 是否对切割后的文件进行压缩处理
       
# RPM packages drop log rotation information into this directory
include /etc/logrotate.d   --- 加载包含/etc/logrotate.d/目录中文件配置
# no packages own wtmp and btmp -- we'll rotate them here
/var/log/wtmp {            --- 单独对某个文件进行切割配置
   monthly
   create 0664 root utmp
   minsize 1M             --- 最小大小为1M,小于1M不进行切割              
   rotate 1
}
       
/var/log/btmp {
   missingok
   monthly
   create 0600 root utmp
   rotate 1
}


       前端开发:
       html     页面代码
       css      定义页面样式
       js       定义页面特效功能       
    
       总结:
       01. /etc/nginx       配置文件
       02. /var/log/nginx     日志文件
       03. /usr/bin/nginx   命令文件
       04. /usr/share/nginx/html   站点目录???
           图片  附件信息  音频  视频

五. nginx服务配置文件


    /etc/nginx/nginx.conf           --- 主配置文件
    第一个部分: 配置文件主区域配置
    user  www;                    --- 定义worker进程管理的用户
    补充: nginx的进程
    master process:  主进程        ---管理服务是否能够正常运行   boss
    worker process:  工作进程    ---处理用户的访问请求         员工  
    worker_processes  2;        ---定义有几个worker进程  == CPU核数 / 核数的2倍
    error_log  /var/log/nginx/error.log warn;   --- 定义错误日志路径信息
    pid        /var/run/nginx.pid;              --- 定义pid文件路径信息
    
    第二个部分: 配置文件事件区域
    events {                    
        worker_connections  1024;   --- 一个worker进程可以同时接收1024访问请求
    }
    
    第三个部分: 配置http区域
    http {
        include       /etc/nginx/mime.types;      --- 加载一个配置文件
        default_type  application/octet-stream;   --- 指定默认识别文件类型
        log_format  oldboy  '$remote_addr - $remote_user [$time_local] "$request" '
                            '$status $body_bytes_sent "$http_referer" '
                            '"$http_user_agent" "$http_x_forwarded_for"';
                          --- 定义日志的格式        
        access_log  /var/log/nginx/access.log  oldboy;
                          --- 指定日志路径          
        sendfile        on;   ???
        #tcp_nopush     on;   ???
        keepalive_timeout  65;   --- 超时时间
        #gzip  on;
        include /etc/nginx/conf.d/*.conf;        --- 加载一个配置文件
    }


    /etc/nginx/conf.d/default  --- 扩展配置(虚拟主机配置文件)
    第四个部分: server区域信息(配置一个网站 www/bbs/blog -- 一个虚拟主机)
    server {
        listen       8080;                --- 指定监听的端口
        server_name  www.abins.cn;      --- 指定网站域名                     
        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;
        }
    }    

 
六. 总结

    1) 常用的网站web服务 (静态请求 动态请求)
    2) nginx服务的特点   apache
    3) nginx软件安装部署 yum官方源如何安装部署    
    4) nginx程序重要目录结构 
    5) nginx服务配置文件默认参数
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值