Nginx网站服务

Nginx

  • 是一个开源的高性能的Web服务器软件
  • 是一个反向代理服务器
  • 可以用于负载均衡、HTTP缓存、静态资源服务以及作为反向代理等功能。
  • 占用资源少,处理并发能力强,能够支持大量的并发连接。
  • 由于其高性能、稳定性和灵活性,Nginx已经成为了很多大型网站和应用的首选服务器。

Nginx的进程

  • master进程:用于管理worker进程,加载配置文件
  • worker进程:用于处理请求连接

Nginx可以运用的应用场景

  1. Web网站服务,处理http静态页面请求
  2. 虚拟主机,实现一个服务器用于做多个网站站点
  3. 反向代理、负载均衡,可以作为网关代理服务器接收客户端的请求转发给后端节点服务器集群
  4. web缓存服务器

安装部署 Nginx 服务

(1)关闭防火墙

systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vim /etc/sysconfig/selinux

(2)安装nginx环境依赖包

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

(3)准备好nginx目录上传软件压缩包并解压

cd /opt
mkdir nginx
tar xf nginx-1.12.0.tar.gz

(4)创建运行用户

useradd -M -s /sbin/nologin nginx

(5)进入软件包目录进行配置软件模块

cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module

(6)编译

make -j 2 

(7)安装

make install

(8)将 nginx 的可执行程序文件放入路径环境变量的目录(用于系统识别)

创建软连接,用于路径优化

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

(9)添加 Nginx 系统服务

vim /lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target

(10)添加权限并重启nginx服务

chmod 754 /lib/systemd/system/nginx.service
systemctl start nginx.service
systemctl enable nginx.service

Nginx如何进行平滑升级?

  1. 官网下载最新版本的nginx
  2. 上传到nginx服务器,使用 tar 进行解压
  3. 使用 .configure 进行配置,按照原有的配置进行配置
  4. 使用用make编译升级成二进制文件
  5. 把二进制文件 nginx 替换掉原有的老文件
  6. 使用 make upgrade 进行升级或用kill -USR2 $(cat /usr/local/nginx/logs/nginx.pid)

Nginx 与 Apache 有何区别?

最核心的区别:

Nginx 采用异步非阻塞机制,多个连接可以对应一个进程

Apache 采用的是同步阻塞+多进程/线程模型,一个连接对应一个进程

  • Nginx 抗并发能力更高
  • Nginx 更轻量,内存、CPU资源消耗更少
  • Nginx 配置简洁,使用场景多,稳定性高

Nginx虚拟主机

       Nginx虚拟主机是一种配置多个域名或网站在同一台服务器上的方式。通过使用Nginx的虚拟主机功能,可以将不同的域名指向不同的项目或网站,并且在同一台服务器上实现多个网站的部署。

       要配置Nginx虚拟主机,首先需要在Nginx的配置文件中定义多个server块。每个server块对应一个域名或网站。在每个server块中,需要指定域名或网站的监听端口、文件根目录、日志文件等配置信息。

Nginx有三种类型的虚拟主机

(1)基于域名的虚拟主机 

server {
    server_name XXX;         #指定不同的域名
}

(2)基于IP的虚拟主机

server {
    listen  <IP>:端口;       #指定不同的IP
}

(3)基于端口的虚拟主机

server {
    listen   IP:<端口>;      #指定不同的端口
}

相关推荐

  1. Nginx网站服务

    2024-06-15 11:30:04       53 阅读
  2. NGINX网站服务

    2024-06-15 11:30:04       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-15 11:30:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-15 11:30:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-15 11:30:04       82 阅读
  4. Python语言-面向对象

    2024-06-15 11:30:04       91 阅读

热门阅读

  1. Web前端三大主流框架详解及应用

    2024-06-15 11:30:04       32 阅读
  2. C语言中的弱函数是什么?

    2024-06-15 11:30:04       34 阅读
  3. ESP8266发送WOL幻数据包实现电脑远程唤醒

    2024-06-15 11:30:04       36 阅读
  4. Unity3D MMORPG多玩家状态同步详解

    2024-06-15 11:30:04       29 阅读
  5. 在 macOS 上使用 Homebrew 安装和配置 Python 及 Tk 库

    2024-06-15 11:30:04       28 阅读
  6. ECharts 数据的视觉映射

    2024-06-15 11:30:04       34 阅读
  7. C++小游戏 合集

    2024-06-15 11:30:04       27 阅读
  8. XML 编辑器:功能、选择与使用技巧

    2024-06-15 11:30:04       32 阅读
  9. 自动驾驶基础一车辆模型

    2024-06-15 11:30:04       28 阅读
  10. 自动驾驶域控制器nvidia环境搭建

    2024-06-15 11:30:04       32 阅读
  11. 【发射火箭game】

    2024-06-15 11:30:04       36 阅读
  12. GIS之arcgis系列09:arcpy实现克里金差值

    2024-06-15 11:30:04       34 阅读