Linux-nginx搭建Web服务器
是由一个美国人写的开源软件,其目标是提供一个专门针对高性能网站,安全、快速、兼容性好而且灵活的Web环境。它具有显存开支低、CPU占用率低、效能好,以及模块丰富等特性。支持、cgi.Auth、输出压缩()、url重画及Alias等重要功能。跟nginx一样,也是一款轻量级web服务器,是NGinx的竞争对手之一。
官方网站:
的Web服务器产品为CIIS).IIS是准许在公共或上发布信息的Web服务器。它是目前最流行的Web服务器产品,好多知名的网站都是构建在IIS平台上的。IIS提供了一个图形界面的管理工具,称为服务管理器,可用于监视配置和控制服务。
IIS是一种Web服务组件,其中包括Web服务器、ftp服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻服务和短信发送等方面,它促使在网路(包括互联网和局域网)上发布信息成了一件很容易的事。它提供ISAPI(API)作为扩充Web服务器功能的编程插口;同时,它还提供一个数据库联接器,可以实现对数据库的查询和更新。
演示网站:
总结
处理动态资源服务:
3.nginx搭建Web服务器
nginx在近几年失火,甚至有超过的势头。作为开发者的我们,也理应学习。
为何要使用nginx搭建Web服务器?
nginx有许多有点
支持高并发,消耗显存资源少具有多种功能在多种系统平台都可以进行布署nginx实现网路通信时使用的时异步网路IO模型
使用yum安装nginx
3.1nginx搭建静态Web服务器
先了解一下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; --- 加载一个配置文件(加载 nginx 支持的mime类型)
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"';
# $remote_addr 显示用户访问源IP地址信息
# $remote_user 显示认证的用户名信息
# [$time_local] 显示访问网站时间
# "$request" 请求报文的请求行信息
# $status 用户访问网站状态码信息
# $body_bytes_sent 显示响应的数据尺寸信息
# $http_referer 记录调用网站资源的连接地址信息(防止用户盗链)
# $http_user_agent 记录用户使用什么客户端软件进行访问页面的 (谷歌 火狐 IE 安卓 iphone)
# $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/nginx.d/—扩展配置(虚拟主机配置文件)
server {
listen 8080; --- 指定监听的端口
server_name www.oldboy.com; --- 指定网站域名
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.编撰虚拟主机配置文件
cd /etc/nginx/conf.d/
vim www.conf
server {
listen 80; # 设置监听端口号
server_name www.oldboy.com; # 设置虚拟主机名
location /oldboy {
root /usr/share/nginx/html; # 定义站点目录的位置
index oldboy.html; # 定义首页文件
}
}
2.须要获取开发人员编撰的网站代码
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Documenttitle>
head>
<body>
测试nginx
body>
html>
~
将代码文件放置放置站点目录下。
[root@web01 /usr/share/nginx]# tree /usr/share/nginx/html/
/usr/share/nginx/html/
└── oldboy.html
3.重启nginx服务(平滑重启)
systemctl reload nginx
nginx -s reload
nginx命令参数
-t : test configuration and exit
检查测试配置文件语法
-s : send signal to a master process: stop, quit, reopen, reload
控制服务停止或者重新启动
4.编撰dns配置信息
模拟域名:在主机的hosts文件中进行配置即可
C:\\\\etc\hosts
# 虚拟主机外网网卡 nginx配置的虚拟主机名
10.0.0.7 www.oldboy.com
5.进行测试访问
浏览器中:
出现404错误,代表资源未找到,这么我们来剖析一下,那里出了问题.
怎么改正错误呢?
更改虚拟主机配置文件
vim /etc/nginx/conf.d/www.conf
server {
listen 80; # 设置监听端口号
server_name www.oldboy.com; # 设置虚拟主机名
location /{ # 去掉 oldboy
root /usr/share/nginx/html; # 定义站点目录的位置
index oldboy.html; # 定义首页文件
}
}
平滑重启nginx
systemctl reload nginx
将.html放置到/usr/share/nginx/html/目录下
[root@web01 /usr/share/nginx]# cd /usr/share/nginx/html/
[root@web01 /usr/share/nginx/html]# mkdir oldboy
[root@web01 /usr/share/nginx/html]# mv oldboy.html ./oldboy
在浏览器中这样访问:
总结:由于我们中设置的是/,所以是会去/usr/share/nginx/html/目录下查找默认配置文件.html的
**PS:服务配置文件中涉及到地址更改,必须重启nginx服务,不能平滑重启**
扩充:
依据用户访问的地址进行控制
10.0.0.0/24不能访问
172.16.1.0/24可以访问
nginx访问模块:le
vim www.conf
server {
listen 80;
server_name www.oldboy.com;
location / {
root /usr/share/nginx/html;
index oldboy.html;
}
location /oldboy {
deny 10.0.0.0/24;
allow 172.16.1.0/24;
root /usr/share/nginx/html;
index oldboy.html;
}
}
补充:
外边的信息,全局配置信息
上面的信息,局部配置信息
依据用户访问进行认证
nginx认证模块:
第一步:编撰虚拟主机配置文件
server {
listen 8080; --- 指定监听的端口
server_name www.oldboy.com; --- 指定网站域名
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;
}
}
0
第二步:创建密码文件(文件中密码信息必须是密文的)
创建一个有密文信息的密码文件
server {
listen 8080; --- 指定监听的端口
server_name www.oldboy.com; --- 指定网站域名
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
server {
listen 8080; --- 指定监听的端口
server_name www.oldboy.com; --- 指定网站域名
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;
}
}
2
第三步:更改密码文件权限,重启nginx服务
server {
listen 8080; --- 指定监听的端口
server_name www.oldboy.com; --- 指定网站域名
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;
}
}
3
借助nginx服务搭建网站文件共享服务器
第一步:编撰配置文件()
nginx模块功能:odule
server {
listen 8080; --- 指定监听的端口
server_name www.oldboy.com; --- 指定网站域名
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;
}
}
4
错误页面柔美显示
server {
listen 8080; --- 指定监听的端口
server_name www.oldboy.com; --- 指定网站域名
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;
}
}
5
还有更多的功能和模块使用,在这儿就不再介绍了。
3.2nginx+php1.哪些是LNMP?
LNMP虽然是一系列服务的简称:
Linux是类Unix计算机操作系统的合称,是目前最流行的免费操作系统。代表版本有:、、、、等。Nginx是一个高性能的HTTP和反向代理服务器,也是一个imap/POP3/SMTP代理服务器。是世界使用排行第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,因为其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。mysql是一个大型关系型数据库管理系统。
**1.布署(可以理解为MySQL的双胞兄弟)**
server {
listen 8080; --- 指定监听的端口
server_name www.oldboy.com; --- 指定网站域名
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;
}
}
6
2.布署PHP服务
server {
listen 8080; --- 指定监听的端口
server_name www.oldboy.com; --- 指定网站域名
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;
}
}
7
LNMP构架的原理:
用户访问网站—>nginx()--–>(php-fpm–)php(php解析器)—>mysql(读取或写入)
借助,将nginx恳求转发给php服务处理。
3.实现LNMP之间构建关系
实现nginx+php构建关系:
server {
listen 8080; --- 指定监听的端口
server_name www.oldboy.com; --- 指定网站域名
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;
}
}
8
**实现php+mysql构建关系**
server {
listen 8080; --- 指定监听的端口
server_name www.oldboy.com; --- 指定网站域名
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;
}
}
9