Linux-nginx搭建Web服务器

极速动力8个月前帮助129

是由一个美国人写的开源软件,其目标是提供一个专门针对高性能网站安全、快速、兼容性好而且灵活的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服务器:互联网与移动产业技术升级解决方案

动态ip服务器集群,通过集群可以实现多个设备的动态管理,基于动态ip的服务器集群有效解决动态域名和a记录易失性问题,能保证服务器组的全平台可用,无需购买新的服务器,极大提高了企业运营效率。动态ip服务...

免费安装香港云服务系统,推荐1-4m带宽的香港服务器

香港服务器推荐就一个:1-4m带宽,按需求安装:全部免费安装!服务器支持主机故障备份,全年随时可安装。云服务器推荐就一个:1-8m带宽,随时安装,原因同上。服务器可以全球备份,全年随时可安装。操作系统...

无需备案的云服务器托管条件

云服务器托管在什么情况下才能无需备案? 1、租用云服务器之前就需要备案 2、云服务器租用之后,若是使用国内服务器,则要做以下两步: 1)在服务器上使用虚拟ip上网 2)使用icp经营许可证申请新的虚拟...

游戏服务器是哪些如何租用

游戏服务器是哪些如何租用 我是艾西,作为一个长期与游戏行业保持着高频率的服务器供应商,明天我以个人的专业知识以及经验和你们说说游戏服务器哪些,它的工作原理是如何与你的pc做交互的!!! 游戏服务器构架...

0首付开特斯拉,月供5520元!特斯拉官网上线新按揭购车新政

即使特斯拉在国外的争议不断,而且连月高涨的销量,以及9月份两款车卖出5万多辆的成绩,清楚显示,国人对特斯拉的喜爱程度有多深。 的 但是特斯拉最实惠的车型,国产Model3起售价钱也在23亿元以上,远低...

了解asp虚拟主机:打造完美网站!

asp虚拟主机就是你的网站是放在asp语言开发的网站里,服务器把域名解析到你的虚拟主机,然后asp语言就执行相应的html代码就行了。前期做一个品牌的官网不错的,机会难得。 免费空间的话和是可以试用一...