第十四期分享:Nginx基本概念和搭建配置

36人浏览 / 0人评论
点击上面蓝字“ 关注我们 ”吧

前篇写了nginx源码安装,对比之前写的apache httpd,都是可以提供web服务的,那这俩个服务有啥区别呢?

先说nginx
1 、轻量级,采用  C  进行编写,同样的  web  服务,会占用更少的内存及资源。
2 、抗并发, nginx   epoll and kqueue  作为开发模型,处理请求是异步非阻塞的,负载能力比  apache  高很多,而  apache  则是阻塞型的。在高并发下  nginx  能保持低资源低消耗高性能   ,而  apache   PHP  处理慢或者前端压力很大的情况下,很容易出现进程数飙升,从而拒绝服务的现象。
3 nginx  处理静态文件好,静态处理性能比  apache  高三倍以上。
4 nginx  的设计高度模块化,编写模块相对简单。
5 nginx  作为负载均衡服务器,支持  7  层负载均衡。
6 nginx  本身就是一个反向代理服务器,而且可以作为非常优秀的邮件代理服务器。

再看Apache
1 apache   rewrite   nginx  强大,在  rewrite  频繁的情况下,用  apache
2 apache  发展到现在,模块超多,基本想到的都可以找到
3 apache   PHP  支持比较简单, nginx  需要配合其他后端用
4 apache  在处理动态请求有优势, nginx  在这方面是鸡肋,一般动态请求要  apache  去做, nginx  适合静态和反向。

结:
两者最核心的区别在于  apache  是同步多进程模型,一个连接对应一个进程,而  nginx  是异步的,多个连接(万级别)可以对应一个进程。


下面演示搭建nginx配置过程

初步搭建验证

1、检查实验环境
getenforce              #查看selinux运行状态setenforce 0              #临时关闭selinuxsystemctl status firewalld              #查看firewalld运行状态systemctl start firewalld              #需要开启firewalld

2、下载并安装服务
配置好yum源 用yum安装 软件包可以从镜像或从nginx官方下载 nginx 官网: http://nginx.org/
yum -y install nginx
启动服务 并设置为开机自启动
systemctl start nginx              #启动systemctl enable nginx              #开机自启动

3、配置firewall防火墙
netstat -anp |grep nginx              #查看nginx所用端口firewall-cmd --add-port=80/tcp              #临时添加80端口放开firewall-cmd --add-port=80/tcp --permanent              #添加80端口永久生效

4、验证web服务
浏览器地址栏 用IP访问
系统内访问
curl IP:端口              #返回正常为Ok


用端口区分虚拟网站(不同端口不同的html文件)

1 nginx服务安装
yum -y install nginx              #yum安装

2 创建不同web目录 / 文件
mkdir -p /work/ng1mkdir -p /work/ng2echo "nginx1.com" > /work/ng1/index.htmlecho "nginx2.com" > /work/ng2/index.html

3 、编辑配置文件
cd /etc/nginx/conf.d              #nginx配置目录vim test.conf              #新建并编辑一个nginx配置文件###########################server {     listen       81;     server_name a.com;     location / {     root /work/ng1;      }}server {     listen       82;     server_name a.com;     location / {     root /work/ng2;     }}

#注意每行最后如果不是{ }都需要写“;”########################

4 、排查有无错误
nginx -t              #必要步骤,写完配置文件后执行检查,无报错回显才能下一步

5 、重启nginx服务
systemctl restart nginx

6 、添加防火墙端口
firewall-cmd --add-port=81/tcp --permanent              #永久添加端口到firewalldfirewall-cmd --add-port=82/tcp --permanent              #永久添加端口到firewalldfirewall-cmd --reload              #刷新使上面操作直接生效

7 最后 验证
系统内
curl IP:81curl IP:82              #如果机器只有一个网卡,也可以使用127.0.0.1:端口,127.0.0.1表示本地
本机浏览器地址栏
IP:81
IP:82


用域名区分虚拟网站(同一端口不同域名和不同html文件)

1 nginx服务安装
yum -y install nginx              #yum安装

2 创建不同web目录 / 文件
mkdir -p /work/ng1mkdir -p /work/ng2echo "nginx-a.com" > /work/ng1/index.htmlecho "nginx-b.com" > /work/ng2/index.html

3 、编辑配置文件
cd /etc/nginx/conf.d              #nginx配置目录vim test.conf              #新建并编辑一个nginx配置文件########################### server {     listen       80;     server_name a.com;     location / {     root /work/ng1;     }}server {     listen       80;     server_name b.com;     location / {     root /work/ng2;     }}
#注意每行最后如果不是{ }都需要写“;”########################

4 、排查有无错误
nginx -t              #必要步骤,写完配置文件后执行检查,无报错回显才能下一步

5 、重启nginx服务
systemctl restart nginx

6 、添加防火墙端口
firewall-cmd --add-port=80/tcp --permanent              #永久添加端口到firewalldfirewall-cmd --reload              #刷新使上面操作直接生效

7 、写域名静态解析
vim /etc/hosts              #追加进去两个自定义域名##########192.168.10.100 1.com192.168.10.100 2.com##########

8 、最后验证
系统内
curl a.comcurl b.com
本机浏览器地址栏
先在C:\Windows\System32\drivers\etc \ hosts追加两条
IP a.com
IP  b.com
在去浏览器地址栏输入测试
a.com
b.com



看到这里了 本篇就写完了 主要描述了nginx基本概念 nginx不同端口提供不同web nginx同一端口提供不同域名web

以上文本出于对原创的尊重,保持一字不变,想学习更多只是还是得关注原创才行的呀!

全部评论