九五从零开始的运维之路(其十八)


前言

本篇将简述的内容:Linux系统下的Nginx基本部署


一、概述

Nginx 是一个高性能的HTTP和反向代理web服务器。
它具有以下功能:
web服务
反向代理
负载均衡
缓存服务
优势区间是:
并发高,单机并发高达50000
监听端口为:80/TCP

二、安装

1.配置yum源

进入yum配置目录

cd /etc/yum.repos.d

创建备份

mkdir backup

将CentOS-* 文件移入备份文件夹

mv CentOS-* backup

新建文件

vim local.repo

文件内容

[local]
name=local
baseurl=file:///mnt
enabled=1
gpgcheck=0

卸载光驱

umount /dev/sr0

加载光驱

mount /dev/sr0 /mnt

2.关闭防火墙、网络图形化工具及SElinux

关闭防火墙及禁止防火墙自启

systemctl stop firewalld && systemctl disable firewalld

关闭网络图形化工具

systemctl stop NetworkManager && systemctl disable NetworkManager

查看SElinux状态

getenforce

设置宽容模式(临时关闭SElinux)

setenforce 0

永久关闭SElinux

vim /etc/selinux/config

SELINUX=enforcing 改为 SELINUX=disabled

3.配置静态IP

进入网卡配置目录

cd /etc/sysconfig/network-scripts/

编辑网卡配置

vim ifcfg-ens33

文件内容

TYPE=Ethernet
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.118.10
PREFIX=24
GATEWAY=192.168.118.2
DNS1=192.168.118.2

配置网卡后重启网络服务

systemctl restart network

4.安装nginx软件包

yum install -y nginx

5.重启Nginx服务器

systemctl restart nginx

6.客户端接入Nginx

同一网段下的客户端访问nginx的ip地址,即可看到Nginx默认访问网页
说明nginx服务已启动

三、目录结构

查看nginx安装后生成的目录及文件

rpm -ql nginx
/etc/nginx/ Nginx安装主目录
/usr/bin/ Nginx更新命令
/usr/sbin/ Nginx启动命令
/usr/share/nginx/ 网页文档根目录
/var/lib/nginx 缓存和临时文件
/var/log/nginx/ 日志文件

四、命令

更新命令

nginx-upgrade

启停命令

nginx [options]

nginx启动时指定配置文件位置

nginx  -c

停止服务

nginx -s stop

不停止服务,平滑加载配置文件

nginx -s reload

测试配置文件并返回信息

nginx -t

五、主配置文件

主配置文件

/etc/nginx/nginx.conf

配置文件内容

user nginx/ 运行用户
worker_processes/ 进程数量
error_log 错误日志
pid 进程ID
include 引用其他文件到当前文件
events { worker_connections } 定义每个工作进程的最大连接数
log_format 日志格式配置
access_log 访问日志路径
include /etc/nginx/mime.types; 支持的文件解析类型
listen 监听端口
server_name 域名
location 指定访问的路径及默认文档
root 访问文档根目录
index 默认文档

六、配置

单网站配置:启动nginx即可
虚拟主机配置,可以分为三种模式:
基于不同端口
基于不同IP地址
基于不同域名

七、SSL加密配置

SSL的主要目标是确保通过网络传输的数据在客户端和服务器之间进行加密和身份验证,以防止数据被窃听、篡改或伪装。

加密类型共分为两类

1.对称加密

秘钥相同,不安全

2.非对称加密

(一)公钥

所有人都可以知道,用来对使用对等私钥加密的数据进行解密

(二)私钥

只有自己知道,用来对使用对等公钥加密的数据进行解密

(I)数据加密

使用公钥加密,保证数据一致性(完整性)

(II)数字签名

使用私钥加密,保证发送者的确定性

3.证书生成

(一)yum安装

创建文件夹并进入

mkdir /etc/pki/nginx/private -p
cd /etc/pki/nginx/private

生成私钥文件(包含公钥和私钥)

openssl genrsa -out nginx.key

查看私钥文件

openssl rsa -in nginx.key -text

跳转到文件夹并生成证书请求文件

cd /etc/pki/nginx
openssl req -new -key ./private/nginx.key -out nginx.csr

跳转到文件夹生成证书

cd /etc/pki/nginx
openssl x509 -req -days 3650 -in nginx.csr -signkey ./private/nginx.key -out nginx.crt

查看证书

openssl x509 -req -days 3650 -in nginx.csr -signkey ./private/nginx.key -text

(二)编译安装

创建文件夹并进入

mkdir /usr/local/nginx/pki
cd /etc/pki/nginx/private

生成私钥文件(包含公钥和私钥)

openssl genrsa -out nginx.key

查看私钥文件

openssl rsa -in nginx.key -text

生成证书请求文件

openssl req -new -key ./private/nginx.key -out nginx.csr

生成证书

openssl x509 -req -days 3650 -in nginx.csr -signkey ./private/nginx.key -out nginx.crt

查看证书

openssl x509 -req -days 3650 -in nginx.csr -signkey ./private/nginx.key -text

证书配置完成后
nginx配置SSL
yum或者编译安装都需要配置该server字段
server {
listen 443 ssl;
server_name www.jx.com;

    ssl_certificate      /etc/pki/nginx/nginx.crt;
    ssl_certificate_key  /etc/pki/nginx/private/nginx.key;

    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root   html;
        index  index.html index.htm;
    }
}

八、测试

客户端访问

https://192.168.115.132

总结

Nginx是一款强大而灵活的Web服务器,它在Linux环境下得到了广泛的应用。通过合理的安装、配置和优化,Nginx能够提供高性能、稳定可靠的服务,并具备负载均衡、反向代理、缓存等丰富的功能。希望本文能够帮助读者更好地理解和使用Linux下的Nginx,构建出高效的Web服务器架构。

猜你喜欢

转载自blog.csdn.net/liujiuwu_xyz/article/details/131647452
今日推荐