当前位置: 首页 > news >正文

web服务器

Web 服务是我们最常接触的服务之一。无论是浏览网页、在线购物,还是观看视频,背后都离不开 Web 服务器的支持。今天,我们就来深入探讨如何使用 Nginx 这款轻量级、高性能的 Web 服务器软件,搭建属于自己的网站。

 什么是 Web 服务器?

简单来说,Web 服务器就像是一个“网络服务员”,它接收来自用户浏览器的请求,然后将相应的网页内容返回给用户。我们日常生活中访问的每一个网站,都是由 Web 服务器提供服务的。

常见的 Web 服务程序

在开始之前,我们先了解几种常见的 Web 服务器软件:

- IIS:Windows 系统自带的 Web 服务程序,图形化界面,易于管理
- Apache:历史悠久,功能丰富,市场占有率很高
- Nginx:轻量级,性能优异,特别适合高并发场景
- Tomcat:主要用于运行 Java Web 应用

在 Linux 环境中,Nginx 和 Apache 是最常用的选择。今天我们就重点介绍 Nginx。

为什么选择 Nginx?

Nginx 有以下几个突出优点:

1. 资源占用少:在同等硬件配置下能服务更多用户
2. 高并发能力强:采用事件驱动架构,能同时处理大量连接
3. 稳定性好:即使在高负载下也能稳定运行
4. 配置灵活:支持各种复杂的网站需求

开始部署 Nginx

 环境准备

在开始安装前,我们需要进行一些准备工作:

# 关闭 SELinux(临时)
setenforce 0
# 停止防火墙
systemctl stop firewalld
# 禁用防火墙开机启动
systemctl disable firewalld

 安装 Nginx

在 CentOS/RHEL 系统上,安装 Nginx 非常简单:

yum install nginx -y

安装完成后,启动 Nginx 服务:

systemctl start nginx
systemctl enable nginx  # 设置开机自启
systemctl status nginx  # 检查服务状态

如果看到 Active: active (running) 字样,说明 Nginx 已经成功启动。

测试访问

在浏览器中输入你的服务器 IP 地址,如果看到 Nginx 的欢迎页面,说明安装成功!

 Nginx 常用命令

# 启动 Nginx
systemctl start nginx
nginx# 停止 Nginx
systemctl stop nginx
nginx -s stop      # 强制停止
nginx -s quit      # 优雅停止(处理完当前请求后停止)# 重启服务
systemctl restart nginx
nginx -s reload    # 重新加载配置(不停止服务)# 检查状态
systemctl status nginx
nginx -t           # 检查配置文件语法

 Nginx 配置文件详解

Nginx 的配置文件位于 `/etc/nginx/nginx.conf`,理解这个文件的结构很重要。

配置文件结构

Nginx 配置文件采用层级结构,主要包含以下几个部分:

- main:全局配置,影响所有其他部分
- events:事件处理相关的配置
- http:HTTP 服务器相关配置
- server:虚拟主机配置(可以多个)
- location:URI 匹配配置

 主要配置段说明

# 全局配置
user nginx;                    # 运行用户
worker_processes auto;         # 工作进程数(通常等于 CPU 核心数)
error_log /var/log/nginx/error.log;  # 错误日志位置# 事件模块配置
events {worker_connections 1024;   # 每个工作进程的最大连接数
}# HTTP 服务器配置
http {include /etc/nginx/mime.types;    # 文件类型映射default_type application/octet-stream;  # 默认文件类型# 日志格式定义log_format main '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main;  # 访问日志sendfile on;        # 开启高效文件传输模式keepalive_timeout 65;  # 保持连接超时时间# 虚拟主机配置server {listen 80;              # 监听端口server_name _;          # 域名(_ 表示匹配所有)root /usr/share/nginx/html;  # 网站根目录# URL 位置配置location / {index index.html index.htm;  # 默认首页文件}# 错误页面配置error_page 500 502 503 504 /50x.html;location = /50x.html {root /usr/share/nginx/html;}}
}

搭建你的第一个网站:

创建网站目录

默认情况下,Nginx 的网页文件存放在 `/usr/share/nginx/html`,但我们可以创建自定义目录


# 创建网站目录
mkdir -p /www/zy# 设置权限
chmod -R 755 /www/zy

 准备网站内容

将你的网页文件上传到 `/www/zy` 目录,或者简单创建一个测试页面:


echo "欢迎来到我的网站!" > /www/zy/index.html

修改 Nginx 配置

编辑 Nginx 配置文件,指定新的网站根目录:


vim /etc/nginx/nginx.conf

找到 server 部分,修改 root 指令:

server {listen       80;server_name  _;root         /www/zy;        # 修改为你的网站目录index        index.html index.htm;
}

 重启 Nginx 并测试

# 检查配置语法
nginx -t# 重启服务
systemctl restart ngin

现在在浏览器中访问服务器 IP,应该能看到你创建的网页内容了!

虚拟主机功能

虚拟主机允许在一台服务器上运行多个网站,有三种实现方式:

 1. 基于 IP 的虚拟主机

为服务器配置多个 IP 地址,每个 IP 对应一个网站:
 添加额外 IP 地址

nmcli c modify ens32 +ipv4.addresses 192.168.48.150/24
nmcli c reload
nmcli c up ens32

然后在 Nginx 配置中为每个 IP 创建 server 块:


server {listen       80;server_name  192.168.48.150;root         /www/ip150;
}server {listen       80;server_name  192.168.48.151;root         /www/ip151;
}

 2. 基于端口的虚拟主机

使用不同端口访问不同网站:

server {listen       5111;server_name  _;root         /www/port5111;
}server {listen       5222;server_name  _;root         /www/port5222;
}

访问时需要在 URL 中指定端口:`http://服务器IP:5111`

 3. 基于域名的虚拟主机(最常用)

通过不同域名访问同一服务器上的不同网站:

server {listen       80;server_name  www.zy.com;root         /www/zy;
}server {listen       80;server_name  www.sxhkt.com;root         /www/sxhkt;
}

需要在客户端 hosts 文件中添加域名解析:

192.168.48.130  www.zy.com
192.168.48.130  www.sxhkt.com
 

 进阶功能:HTTPS 网站搭建

为什么需要 HTTPS?

HTTPS = HTTP + SSL/TLS,通过加密通信内容,防止数据被窃听或篡改。

 生成 SSL 证书

首先需要为网站生成 SSL 证书和私钥:


# 生成私钥(带密码保护)
openssl genrsa -aes128 2048 > /etc/nginx/zy.key# 生成证书
openssl req -utf8 -new -key /etc/nginx/zy.key -x509 -days 365 -out /etc/nginx/zy.crt# 移除私钥密码(可选,便于自动加载)
openssl rsa -in zy.key.org -out zy.key

 配置 HTTPS 网站


server {listen       443 ssl http2;server_name  192.168.48.130;root         /www/zy;# SSL 配置ssl_certificate      /etc/nginx/zy.crt;ssl_certificate_key  /etc/nginx/zy.key;
}# HTTP 重定向到 HTTPS
server {listen 80;server_name 192.168.48.130;return 301 https://$server_name$request_uri;
}

 实用功能:目录列表和密码保护

 开启目录列表

让用户能够浏览服务器上的文件目录:
 

location / {autoindex on;           # 开启目录列表autoindex_exact_size on; # 显示文件确切大小autoindex_localtime on;  # 显示服务器时间charset utf-8,gbk;      # 支持中文文件名
}

设置密码保护

为网站或特定目录添加访问密码:


# 安装密码工具
yum install httpd-tools -y# 创建密码文件
htpasswd -c /etc/nginx/passwd username

在 Nginx 配置中添加:

location / {auth_basic "请输入用户名和密码";auth_basic_user_file /etc/nginx/passwd;
}

常见问题排查

 1. 无法访问网站

- 检查 Nginx 服务状态:`systemctl status nginx`
- 检查防火墙设置
- 查看错误日志:`tail -f /var/log/nginx/error.log`

 2. 权限问题

- 确保 Nginx 用户对网站目录有读取权限
- 检查 SELinux 状态和设置

 3. 配置错误

- 使用 `nginx -t` 检查配置文件语法
- 每次修改配置后记得重启或重载 Nginx

总结:

- Nginx 的基本概念和优势
- 如何安装和配置 Nginx
- 搭建静态网站的方法
- 虚拟主机的三种实现方式
- HTTPS 网站的配置
- 常用的 Nginx 功能和优化技巧

http://www.dtcms.com/a/598852.html

相关文章:

  • 个人建设网站服务器怎么解决方案东营房产网
  • 菏泽兼职网站建设wordpress登陆页面修改
  • No typehandler found for property xxxx
  • 怎么建设宣传网站域名注册兼职
  • 设计网站推荐视频凡科 360免费建站
  • 建站交流网站上面添加地图
  • 建设网站需要什么硬件软件工程考研率为何低
  • 基于单片机的智能家居智能雨水自动关窗控制系统设计
  • 14.【NXP 号令者RT1052】开发——实战-PWM 输出
  • 框架网站怎么做西安营销型网站建设
  • 工信部网站域名查询wordpress 2.9.1漏洞
  • 能源网站开发网站办公室
  • 给一个网站风格做定义网站建设网络公
  • php管理系统 网站模版手机高端网站开发
  • [ PowerShell 教程] 第1天课后作业答案与指导
  • 使用Nginx搭建web网站
  • 空壳网站清理通知校园官方网站建设
  • 石家庄营销网站建设高校网站群建设的公司有哪些
  • ps做网站wordpress主题查询
  • Git操作基本流程
  • 有做兼职赚钱的网站吗东莞住建局
  • php做的网站模板下载地址柳州公积金网站
  • 本地网站建设流程网站建设收获与不足
  • 安阳网站如何做优化西安搜推宝网络科技有限公司
  • 简单网站php源码下载济南网站制作工具
  • C语言函数与模块化设计:构建可扩展AI底层库的工程实践
  • C++: map和set
  • 河南映天建设网站临沂网站建设企业
  • 建设银行广西分行招聘网站织梦怎么做企业网站
  • 网页制作工具的选择与网站整体风格没有关系建设网站需要什么资质