开发运维基础课程-04-系统网站服务部署

系统用户权限管理

     本章主要对Nginx web服务软件进行介绍,涉及Nginx的基础配置部署与企业中的日常运维管理和应用。从而理解web服务在互联网架构作用体现。


2.1 网站服务作用概述介绍

     网站服务器(Website Server)是指在互联网数据中心中存放网站的服务器。网站服务器主要用于网站在互联网中的发布、应用,是网络应用的基础硬件设施。其实直白一点说,就是用户想要在浏览器上看到网站页面信息时,需要先把请求发送到网站服务器,网站服务器接收到请求后,会根据用户的请求调取本地的资源信息对请求过程做出响应,浏览器接受到响应的数据信息后,会自动有效的进行整理和识别,最终会将所有信息以网页方式进行呈现。
     其中在部署web网站服务器时,经常选择Nginx程序作为网站的服务程序。作为HTTP服务软件的后起之秀,Nginx与它的老大哥Apache相比有很多改进之处,比如,在性能上,Nginx占用的系统资源更少,能支持更多的并发连接(特别是静态小文件场景下),达到更高的访问效率;在功能上,Nginx不但是一个优秀的web服务软件,还可以作为反向代理负载均衡及缓存服务使用;在安装配置上,Nginx更为方便、简单、灵活,可以说,Nginx是一个极具发展潜力的web服务软件。


2.2 网站服务搭建部署实战

对于Nginx服务一般会采取借助官方源方式进行yum安装部署,因为采用官方源方式部署,整个部署过程简单方便,出错率会较低,并且部署安装的软件程序将会是目前官方网站主推的最新稳定版。

2.2.1 网站服务基础环境构建

第一个步骤:根据官方参考部署官方源
参考资料地址:http://nginx.org/en/linux_packages.html#RHEL-CentOS
安装部署yum软件程序环境:(这步操作可以省略,centos7环境中已经存在)

sudo yum install yum-utils

设置调整yum源文件信息,需要手工创建指定的yum源文件在/etc/yum.repos.d/nginx.repo文件中,具体需要编写内容如下所示:

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
module_hotfixes=true

第二个步骤:进行软件程序下载安装

yum install -y nginx

第三个步骤:启动软件程序并浏览器测试

systemctl start nginx

浏览器测试成功会显示类似如下图所示页面信息:

图片名称

2.2.2 网站服务配置文件参数说明:

在Nginx程序中一般会有两个重要的配置文件,一个成为主配置文件,另一个为网站扩展配置文件,如果想管理理解Nginx如何实现网站服务功能,需要对这两个配置文件基础配置熟悉。
· 网站服务主配置文件信息:
[配置文件路径]
/etc/nginx/nginx.conf
[配置文件信息]

user  nginx;
worker_processes  1;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}
http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    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  /var/log/nginx/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    include /etc/nginx/conf.d/*.conf;
}

[配置参数说明]

编号配置指令解释说明
01 user 表示指定nginx服务worker进程管理用户信息
02 worker_processes 指定指定worker进程数量
03 include 表示加载扩展配置文件信息
① 需要加载的媒体资源类型文件 /etc/nginx/mime.types
② 需要加载的网站服务扩展文件 /etc/nginx/conf.d/*.conf
04 default_type 表示未知请求资源文件类型处理方式
05 log_format 表示定义用户访问日志格式信息
06 access_log 表示定义访问吧日志文件路径保存路径
07 sendfile 表示开启文件高效传输模式
08 keepalive_timeout 表示TCP长连接会话保持时间信息

· 网站服务扩展配置文件信息:
[配置文件路径]
/etc/nginx/conf.d/default.conf
此文件内容信息无用信息较多,建议可以将文件内注释和空行信息清理屏蔽显示输出

[root@web01 ~]# cd /etc/nginx/conf.d/
[root@web01 conf.d]# grep -Ev "#|^$" default.conf

[配置文件信息]

server {
   listen         80;
   server_name    www.oldboy.com;
   location / {
       root   /usr/share/nginx/html/;
       index  index.html;
   }
   error_page   500 502 503 504  /50x.html;
   location = /50x.html {
       root   /usr/share/nginx/html;
   }
}

[配置参数说明]

编号配置指令解释说明
01 listen 用于指定服务监听端口或者地址信息
02 server_name 用于指定访问网站域名名称信息
03 root 用于指定站点目录信息,用于保存网站数据代码和元素信息
04 index 表示网站默认加载的代码文件

2.3 网站服务目录结构介绍

     在Nginx程序部署完毕后,系统中会产生很多Nginx服务的程序目录信息,程序不同目录中会存储着不同的数据文件信息,在日常管理Nginx程序时,有时需要操作管理相应目录中的数据。因此,下面表格中将对Nginx程序中比较重要的目录结构进行介绍说明:

编号数据信息解释说明关注程度
  /etc/nginx/ 主要用于存储网站服务配置文件  
01 fastcgi_params 此文件用于保存fastcgi_param指令所建立的映射关系,此文件配置主要和PHP服务有关  
02 scgi_params 此文件用于保存scgi_param指令所建立的映射关系,此文件配置主要和PHP服务有关  
03 uwsgi_params 此文件用于保存uwsgi_param指令所建立的映射关系,此文件配置主要和Python服务有关  
04 koi-utf 此文件为字符编码转换映射文件  
05 koi-win 此文件为字符编码转换映射文件  
06 win-utf 此文件为字符编码转换映射文件  
07 mime.types 文件扩展名与文件类型映射表,nginx根据映射关系设置http请求响应头的Content-Type值 重点了解
08 nginx.conf 此文件为服务程序加载的主配置文件 重点掌握
  /etc/nginx/conf.d/ 主要用于存储网站服务虚拟主机配置文件  
01 default.conf 此文件用于保存网站虚拟主机配置文件信息 重点掌握
  /usr/share/nginx/html/ 主要用于存储网站服务代码和元素数据信息,属于网站默认站点目录  
  /var/log/nginx/ 主要用于存储网站服务日志文件信息  
01 error.log 此文件中会记录网站服务运行错误日志信息,主要用于排查网站访问异常问题 重点掌握
02 access.log 此文件中会记录网站服务用户访问情况信息,主要用于日后企业进行访问数据分析 重点掌握

2.4 网站服务加载静态代码

Nginx网站服务构建完毕后,就像是房子盖好了,还需要在房子中摆上家具电器,所以服务构建好后还需要加载代码文件信息,具体加载代码过程如下:
第一个步骤: 创建网站配置文件

[root@web01 ~]# vim /etc/nginx/conf.d/www.conf
server {
   listen   80;
   server_name www.oldboyav.com;
   location / {
      root  /html/www;
      index index.html;
   }
}

说明:

  1. 创建此文件后,建议将conf.d/目录中原有的default.conf文件移出conf.d目录避免与创建的配置文件产生冲突。
  2. 新的配置文件编写完毕后,建议对nginx配置文件进行语法检查,因为配置文件有语法规范,配置错误后,会影响nginx服务运行,检查语法命令如下:
[root@web01 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

第二个步骤: 创建站点目录信息
根据配置文件内容配置创建相应站点目录即可,建议不同网站服务,创建不同网站服务站点目录,不建议将多个网站数据存储在统一个站点目录中。

[root@oldboyedu conf.d]# mkdir /html/www -p
[root@oldboyedu conf.d]# ll /html/www/ -d
drwxr-xr-x. 2 root root 6 Sep  8 17:20 /html/www/
[root@oldboyedu conf.d]# chown nginx.nginx /html/www/
[root@oldboyedu conf.d]# ll /html/www/ -d
drwxr-xr-x. 2 nginx nginx 6 Sep  8 17:20 /html/www/

第三个步骤: 上传网站代码信息
将从开发手里获取的代码信息进行上传到系统中,并将代码包进行解压,并将解压后的代码放入到指定的站点目录中。

[root@web01 ~]# rz -y
[root@web01 ~]# unzip 代码压缩包.zip
[root@web01 ~]# mv 代码包目录/*  /html/www

第四个步骤: 重启网站服务程序

systemctl restart nginx 

第五个步骤: 查看网站页面信息
编辑windows本地hosts解析文件,windows解析文件保存路径为:

C:\Windows\System32\drivers\etc\hosts
10.0.0.7    www.oldboyav.com

配置完毕后,浏览器访问即可:

图片名称
注意:在网站服务部署完毕,进行测试访问时,一定要确保Linux系统防火墙服务与selinux安装策略处于关闭状态

2.4 网站服务企业项目实战

     企业环境中,需要对Nginx服务进行一些特殊配置,完成网站特殊功能需求,本章节将介绍一些常见企业网站配置情况。

2.4.1 网站多虚拟主机配置

在正常的网站服务器中,一般会承载多个网站主机的配置需求,所以称之为多虚拟主机配置,在企业网站环境中配置多虚拟主机步骤如下:
第一个步骤: 编写虚拟网站配置文件
编写好多个网站的配置文件信息:

//www.oldboyav.com配置文件信息
[root@oldboyedu ~]# vim /etc/nginx/conf.d/www.conf 
server {
    listen   80;
    server_name www.oldboyav.com;
    location / {
       root  /html/www;
       index index.html;
    }
}
//bbs.oldboyav.com配置文件信息	
[root@oldboyedu ~]# vim bbs.conf 
server {
    listen   80;
    server_name bbs.oldboyav.com;
    location / {
       root  /html/bbs;
       index index.html;
    }
}
//blog.oldboyav.com配置文件信息	
[root@oldboyedu ~]# vim blog.conf
server {
    listen   80;
    server_name blog.oldboyav.com;
    location / {
       root  /html/blog;
       index index.html;
    }
}

第二个步骤: 创建站点目录调整权限
在多虚拟主机网站环境中,一般会把不同网站的资源信息进行分割保存到不同网站的站点目录中,不建议所有资源数据信息汇总在一个站点目录中。

[root@oldboyedu ~]# mkdir /html/{www,bbs,blog}  -p
[root@oldboyedu ~]# chown nginx.nginx /html/{www,bbs,blog}

第三个步骤: 上传不同网站代码信息
一般此步骤在企业环境中,会上传开发人员真是编写的代码文件数据信息放入到不同的站点目录中;但是由于作者手中此时没有开发人员提供的代码,随意先简单编写代码进行测试。

[root@oldboyedu ~]# echo www.oldboyav.com  >/html/www/index.html 
[root@oldboyedu ~]# echo bbs.oldboyav.com  >/html/bbs/index.html
[root@oldboyedu ~]# echo blog.oldboyav.com  >/html/blog/index.html

第四个步骤: 需要重启网站服务程序

systemctl restart nginx

第五个历程: 浏览访问多个网站测试
在测试前需要配置好本地解析:

10.0.0.200  www.oldboyav.com bbs.oldboyav.com blog.oldboyav.com

浏览器页面测试结果如下:

图片名称图片名称

2.4.2 实现数据共享存储功能

 
 
posted @ 2020-09-14 23:37  我不是蜘蛛侠  阅读(281)  评论(0)    收藏  举报