Nginx网站服务与虚拟Web主机(域名、IP、端口)

news/2024/5/20 11:31:46/文章来源:https://blog.csdn.net/F2001523/article/details/110387551

文章目录

  • 一、Nginx概述
    • 1.什么是Lginx
    • 2.Nginx工作原理
    • 3.Nginx 的模块从功能上分为如下三类
    • 4.Nginx的模块从结构上分为核心模块、基础模块和第三方模块
  • 二、搭建Nginx虚拟Web主机
    • 1.搭建Nginx服务
    • 2.管理Nginx服务
    • 3.配置nginx的验证功能
  • 三、配置虚拟主机功能
    • 1.基于域名
    • 2.基于IP
    • 3.基于端口

一、Nginx概述

1.什么是Lginx

Lginx一款高性能、轻量级Web服务软件

优点:

  • 稳定性高
  • 系统资源消耗低
  • 对HTTP并发(同时访问我)连接的处理能力高
    • 单台物理服务器可支持30 000——50 000个并发请求

2.Nginx工作原理

  • Nginx由内核和模块组成
  • Nginx本身做的工作实际很少,当它接到HTTP请求时,它仅仅是通过查找配置文件将此次请求映射到一个location block,而此location中所配置的各个指令则会启动不同的模块去完成工作,因此模块可以看做Nginx真正的劳动工作者

3.Nginx 的模块从功能上分为如下三类

  • handler(处理器)模块:负责处理请求,完成响应内容的生成
  • filter(过滤器)模块:filter模块是对响应内容进行处理
  • proxies(代理类)模块:此类模块是Nginx的HTTP Upstream之类的模块
    这些模块主要与后端一些服务比如FastCGI(动态网页请求)等进行交互,实现服务代理和负载均衡等功能

4.Nginx的模块从结构上分为核心模块、基础模块和第三方模块

  • 核心模块:HTTP(网页)模块、EVENT(事件)模块和MAIL(邮件)模块;
  • 基础模块:HTTP Access(访问)模块、HTTP FastCGI(动态网页请求)模块、HTTP Proxy(代理)模块和HTTP Rewrite(重写)模块
  • 第三方模块:HTTP Upstream Request Hash (动态池)模块、Notice(注意)模块和HTTP Access Key模块;

二、搭建Nginx虚拟Web主机

1.搭建Nginx服务

1.1 准备安装包,用XShell文件传输到根目录
在这里插入图片描述
1.2 关闭防火墙,防止开启自启动

systemctl  stop   firewalld
setenforce  0
systemctl  disable  firewalld[root@server1 ~]#  sed -i '/SELINUX/s/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
[root@server1 ~]# grep -v "#" /etc/selinux/config

1.3 安装依赖包

[root@server1 ~]# yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \            #是perl语言的正则表达式
zlib-devel \             #软件包的开发包,一个函数库,库里面包括头文件、静态库甚至源码等资源

1.4 创建一个不可登陆用户

[root@server1 ~]# useradd -M -s /sbin/nologin nginx

1.5 解压nginx软件包

[root@server1 ~]# tar zxvf nginx-1.12.2.tar.gz 

1.6 配置nginx

[root@server1 ~]# cd nginx-1.12.2/
[root@server1 nginx-1.12.2]# ./configure \
--prefix=/usr/local/nginx \ 
--user=nginx \                       #指定其运行时的账户与组
--group=nginx \
--with-http_stub_status_module    #将状态模块启用

1.7 编译安装

make   &&   make   install   

1.8 建立软链接,检查语法

[root@server1 nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/     #软链接
[root@server1 nginx-1.12.2]# nginx -t      #检查语法
[root@server1 nginx-1.12.2]# nginx            #重启服务
[root@server1 nginx-1.12.2]# netstat -anpt | grep nginx   #查看服务端口状态
[root@server1 nginx-1.12.2]# killall -1 nginx     #安全重启
[root@server1 nginx-1.12.2]# killall -3 nginx     #停止服务

做到这里Nginx环境已经部署好了

2.管理Nginx服务

1.制作管理脚本

vi  /etc/init.d/nginx#!/bin/bash
#chkconfig:35 76 21
#description:Nginx Service Control
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" instart)$PROG;;stop)kill -s QUIT $(cat $PIDF);;restart)$0 stop$0 start;;reload)kill -s HUP $(cat $PIDF);;*)echo "Usage: $0 {start|stop|restart|reload}"exit 1
esac
exit 0    

2.给脚本文件授权、设置chkconfig管理nginx服务

[root@server1 ~]# chmod +x /etc/init.d/nginx
[root@server1 ~]# chkconfig --add nginx
[root@server1 ~]# chkconfig --list

在这里插入图片描述
3.配置日志级别

[root@server1 ~]# ln -s /usr/local/nginx/conf/nginx.conf /etc/  #软链接
[root@server1 ~]# vi /etc/nginx.conf 
[root@server1 ~]# nginx -t
[root@server1 ~]# ulimit -n
[root@server1 ~]# ulimit -n 65535 >> /etc/rc.local 
[root@server1 ~]# ulimit -n

会遇到资源数不够需要添加资源数
在这里插入图片描述
vi /etc/nginx.conf 修改配置文件
在这里插入图片描述
在这里插入图片描述

4.配置统计功能

vi   /etc/nginx.conf
systemctl  stop   nginx
systemctl  start   nginx添加:location ~ /status {stub_status on;access_log off;
}

在这里插入图片描述

5.查看nginx status(状态)详细
访问本机20.0.0.14/status
在这里插入图片描述
在这里插入图片描述

3.配置nginx的验证功能

[root@server2 ~]# vi /usr/local/nginx/conf/nginx.conf
[root@server2 ~]# nginx -t
[root@server2 ~]# systemctl stop nginx
[root@server2 ~]# systemctl start nginx添加:location / {          deny 20.0.0.1/32;                    #拒绝20.0.0.1访问     allow all;                                  #允许所有访问auth_basic "secret";             #密文认证auth_basic_user_file /usr/local/nginx/passwd.db;   #用户文件指向usr/local/nginx/passwd.db}

在这里插入图片描述
测试:
因为nginx的执行顺序是从上到下不像apache一样,把拒绝的放前面就直接执行拒绝访问
在这里插入图片描述

三、配置虚拟主机功能

1.基于域名

[root@server2 ~]# vi /etc/nginx.conf 
[root@server2 ~]# systemctl stop nginx
[root@server2 ~]# systemctl start nginx添加:
server {listen       80;server_name  www.nb.com;charset utf-8;access_log  logs/nb.com.access.log;location / {root   /var/www/html/nb; index  index.html index.htm;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}}

在这里插入图片描述
在这里插入图片描述
编写页面

[root@server1 ~]# mkdir -p /var/www/fa
[root@server1 ~]# mkdir -p /var/www/nb
[root@server1 ~]# echo "<h1>This is fa.</h1>" > /var/www/fa/index.html
[root@server1 ~]# echo "<h1>This is nb.</h1>" > /var/www/nb/index.html
[root@server1 ~]# vi /etc/hosts
[root@server1 ~]# curl http://www.fa.com
<h1>This is fa.</h1>
[root@server1 ~]# curl http://www.nb.com
<h1>This is nb.</h1>

在这里插入图片描述
测试用域名访问
www.fa.com
www.nb.com
在这里插入图片描述
在这里插入图片描述

2.基于IP

1.创建虚拟主机

[root@server1 ~]# ifconfig ens33:1 192.168.1.100/24
[root@server1 ~]# ifconfig

在这里插入图片描述

[root@server1 ~]# vi /etc/nginx.conf 
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl start nginx
[root@server1 ~]# curl http://20.0.0.13
<h1>This is fa.</h1>
[root@server1 ~]# curl http://192.168.1.100
<h1>This is nb.</h1>

在这里插入图片描述
在这里插入图片描述

测试:
20.0.0.13
192.168.1.100
在这里插入图片描述
在这里插入图片描述

3.基于端口

[root@server1 ~]# vi /etc/nginx.conf 
[root@server1 ~]# systemctl stop nginx
[root@server1 ~]# systemctl start nginx
[root@server1 ~]# netstat -anpt | grep nginx
[root@server1 ~]# curl http://20.0.0.13:80
<h1>This is fa.</h1>
[root@server1 ~]# curl http://192.168.1.100:8080
<h1>This is nb.</h1>

在这里插入图片描述
在这里插入图片描述

测试:
20.0.0.13:80
192.168.1.100:8080
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_767599.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站如何提速?让网站秒开

配置小鸟云服务器&#xff0c;如果选择的带宽比较小&#xff0c;比如1M&#xff0c;而网站页面很大&#xff0c;在打开网站时速度比较慢&#xff0c;怎么办&#xff1f; 在这里主要说一种提速方法&#xff1a; 1&#xff1a;升级带宽&#xff08;推荐&#xff09;&#xff0c…

服务器常见问题|新手建站云服务器到底该如何选购?

云服务器其实相当于一个服务器主机&#xff0c;其配置和物理结构远优与普通家用主机。云服务器有独立的IP&#xff0c;独立的操作系统&#xff0c;内存&#xff0c;带宽等&#xff0c;在功能与使用方法上也与服务器一模一样。你可以简单理解为&#xff0c;通过虚拟化技术实现的…

为什么建站必备云虚拟主机?

2021年第一季度&#xff0c;云基础设置服务支出增长35%&#xff0c;达到418亿美元&#xff0c;各行各业“上云”已经不算新鲜事&#xff0c;在云服务市场加速回暖的今天&#xff0c;不管是企业还是个人&#xff0c;都会选择云基础设施加快上云的步伐&#xff0c;建立属于自己的…

网站提示有风险?注意做好这几点!

在互联网虚拟世界&#xff0c;安全问题随时存在。当我们访问一个网站却被提示不安全&#xff0c;页面打不开。如果网站本身没有问题&#xff0c;那么很大几率是因为浏览器检查到网站的ssl证书过期了或者存在问题&#xff0c;为了保护用户才会出现这种提示。 检查证书是否过期 …

小鸟云云服务器可以绑定多个域名搭建多个网站吗?

云服务器绑定多个域名搭建多个网站在操作过程中有一些注意事项比如&#xff1a; 1.建站首先要准备域名、服务器 如果我们的网站是在国内&#xff0c;可以找国内的域名商注册域名&#xff0c;如果涉及到跨境电商&#xff0c;可以注册一个国外域名。同时对云服务器的选择需要注…

从0开始搭建云服务器,入门使用教程,搭建个人网站(上)

前言 从刚开始自己摸索建站教程&#xff0c;到现在了解大部分的建站流程&#xff0c;自己的能力确实得到提升。如果你也像我一样&#xff0c;是利用闲暇时间学习建站的&#xff0c;而且是刚接触不久的&#xff0c;可以参考下本文。 目录 一、准备云服务器 二、远程登录服务器&a…

从0开始搭建云服务器,入门使用教程,搭建个人网站(下)

上篇文章中&#xff0c;我们已经将前面两个步骤讲清楚了&#xff0c;接下里就是将网站代码放在服务器上面&#xff0c;配置域名解析到相关服务器上面。 目录 一、准备云服务器 二、远程登录服务器&#xff0c;配置建站环境 三、将网站代码放在服务器上面 四、购买域名&#xff…

如何将自己开发的网站部署到小鸟云服务器上?

要将网站部署到服务器上&#xff0c;首先得拥有一个云服务器&#xff0c;像我们是个人使用&#xff0c;搭建一些个人网站&#xff0c;用1核2G1M的配置基本够用&#xff0c;如果是企业用&#xff0c;就需要双倍甚至更高的性能。 在选择云服务器时&#xff0c;除了上面所提到的基…

网站搭建系列:云虚拟主机建站部署的过程中如何上传FTP?

在用云虚拟主机搭建网站的过程中&#xff0c;最常见的&#xff0c;就是用FTP上传我们的建站程序&#xff08;WordPress、 米拓、织梦、帝国等&#xff09;或者是网站的源代码&#xff0c;对于前期刚接触建站的我来说&#xff0c;用虚拟主机上传建站程序搭建网站是一个简单方便的…

做电商/外贸,搭建一个自己的网站要怎么选服务器(配置)?

随着经济的发展、政策的支持&#xff0c;环境的影响&#xff0c;电商的发展越来越快&#xff0c;电商行业的生态圈也正在逐步完善。以电商行业里的直播带货为例&#xff0c;2020年中国直播电商市场规模超1.2万亿元&#xff0c;年增长率为197.0%&#xff0c;预计2023年直播电商规…

网站搭建系列:云虚拟主机的建站使用体验(和云服务器区别)

随着网站越来越普遍&#xff0c;很多朋友都开始做自己的网站&#xff0c;像我最开始建站就是用的小鸟云虚拟主机&#xff0c;因为比较简单&#xff0c;使用云虚拟主机建站也有一段时间了&#xff0c;在这里对基本的过程进行总结&#xff0c;包括云虚拟主机是什么&#xff0c;能…

宝塔面板+小鸟云服务器+wordpress建站使用

现在个人建站门槛低&#xff0c;操作也容易&#xff0c;如果单纯使用Linux服务器的命令脚本无法搭建环境&#xff0c;那么可以尝试用宝塔面板&#xff0c;Linux和Windows系统都可以用。 1.准备云服务器 这里我用的是1核1G1M的内蒙bgp云服务器&#xff0c;因为是初始建站&…

云服务器建站系列|如何优化网页访问速度?

之前用1核1g1M的小鸟云服务器搭建了一个网站&#xff0c;刚开始考虑配置低是访问量不多&#xff0c;但网页内容增多了以后&#xff0c;想在低配置的基础上&#xff0c;对网页的访问速度实现进一步的优化&#xff0c;网站的速度也是搜索引擎排名的一个重要因素&#xff0c;今天总…

php添加公告信息代码mvc,纯代码实现WordPress添加网站公告功能

很多站长都想知道自己的文章被多少人点击查看过&#xff0c;一般会有些统计点击次数的插件可以解决这个问题&#xff0c;但是站长都比较担心插件会导致网站变慢&#xff0c;今天小编就分享纯代码实现WordPress文章点击数。首先&#xff0c;需要创建相关的函数。你可以把下面的代…

爬取某新闻网站的新闻并实现自动群发邮件的功能(python3+SMTP)

今天是2019年10月24日,一个属于国内程序员们的共同节日—中国程序员节 在计算机技术中&#xff0c;1G1024MB,程序员节也由此诞生. 今天,我就总结一些关于网络安全的干货,送给大家! 在正式开始之前,我想强调一点,那就是: 每一种新兴技术就好比是一把刀&#xff0c;刀本身没有…

手机网站接入支付宝在线支付的流程代码

首先&#xff0c;创建一个支付宝手机网站支付的应用&#xff0c;里面会有 https://openhome.alipay.com/platform/isvAppPage.htm#/app/2019042264289117/package 但是&#xff0c;这个产品是需要签约 代码实现&#xff1a; package application.service.facetoface;import c…

网站跨域请求的解决方案

网站跨域请求的五种解决方案&#xff1a; 1、使用JSONP解决跨域问题&#xff08;不推荐&#xff0c;因为支支持get请求&#xff0c;不支持post请求&#xff09; 2、使用httpClient或者HttpUrlConnection进行内部转发请求响应&#xff08;不推荐&#xff0c;因为需要多请求一次…

Linux内核最新版本以及历史版本下载的链接网站

Linux内核最新版本下载&#xff1a; The Linux Kernel Archiveshttps://www.kernel.org/Linux历史版本下载&#xff1a; Index of /pub/linux/kernel/https://mirrors.edge.kernel.org/pub/linux/kernel/

ubuntu下载网站

Ubuntu Releaseshttps://releases.ubuntu.com/

如何测试一个网站的性能(并发数)?

JMeter网站并发性测试 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于Web应用测试但后来扩展到其他测试领域。 它可以用于测试静态和动态资源例如静态文件、Java小服务程序、CGI脚本、Java 对象、数据库&#xff0…