Linux-nginx搭建Web服务器

极速动力9个月前帮助140

是由一个美国人写的开源软件,其目标是提供一个专门针对高性能网站安全、快速、兼容性好而且灵活的Web环境。它具有显存开支低、CPU占用率低、效能好,以及模块丰富等特性。支持、cgi.Auth、输出压缩()、url重画及Alias等重要功能。跟nginx一样,也是一款轻量级web服务器,是NGinx的竞争对手之一。

官方网站:

2.5iis服务器

的Web服务产品为CIIS).IIS是准许在公共或上发布信息的Web服务器。它是目前最流行的Web服务器产品,好多知名的网站都是构建在IIS平台上的。IIS提供了一个图形界面管理工具,称为服务管理器,可用于监视配置控制服务。

IIS是一种Web服务组件,其中包括Web服务器、ftp服务器、NNTP服务器和SMTP服务器,分别用于网页浏览文件传输、新闻服务和短信发送等方面,它促使在网路(包括互联网局域网)上发布信息成了一件很容易的事。它提供ISAPI(API)作为扩充Web服务器功能的编程插口;同时,它还提供一个数据库联接器,可以实现对数据库的查询和更新。

IIS只能运行在平台、平台上,因而需要订购商业操作系统

演示网站:

总结

处理静态资源的服务:

处理动态资源服务:

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配置信息

真实域名:在阿里云上进行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

相关文章

国内云主机哪家实惠

国外云主机哪家实惠?不同的云服务商云主机的价钱有所差别,但整体来说,云主机的价钱与其配置息息相关。云主机配置高,价钱就越高,反之,配置低价钱也就低。 但想要选购配置高、性能好的云主机,想要以很实惠的价...

美国多IP站群VPS,无需备案,香港服务器

美国多ip站群vps,非中文服务器,香港免备案,7x24小时在线稳定运行。4000/月起,让你用着心安,体验又快又稳。美国ip+独立服务器,更适合跨境电商、外贸企业,香港站群,网赚、研究论坛、b2b用...

北京租服务器,低成本、高效益

北京租服务器真的很贵啊,都说北京服务器租金很贵,到底贵在哪里?我今天就来谈谈我的看法。这是服务器机房租金:这是x86服务器租金:可以看到北京x86服务器租金在3000左右一月,而北京8核心的x86服务...

【提示】换手机了,老手机里的虚拟交通卡能继续使用吗?

换了新手机,那老手机上的虚拟交通卡该如何处理呢?只能等卡里余额用完再换机吗?市交通委说,新老手机为不同手机品牌,需在老手机上进行退卡操作,在新手机上再新开通;新老手机为同一手机品牌,用户可在老手机上先...

双线机房是因为国外两大网路(联通和

基本介绍播报 编辑 好多上网的同事一定留意到一个问题,当我们下载东西的时侯,有的线会很快,有的线则不然,即使使用迅雷,BT等工具就会很慢,好多网游都分别提供联通,电信的下载地点--问题下来了?为何会出...

阿里云官网:php空间租用费用查询

php空间租用收费: 1、租金问题,请到阿里云官网查询,按季/月收取,每月大概在250元左右。 2、续租问题,如果在一年之内租期到了,可以续租。收费标准按月/年收取。 3、实例租用问题,租用z8.1不...