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

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 本篇将简述的内容:Linux系统下的Nginx基本部署

前言

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


一、概述

Nginx 是一个高性能的HTTP和反向代理web服务器。

它具有以下功能:

web服务

反向代理

负载均衡

缓存服务

优势区间是:

并发高,单机并发高达50000

监听端口为:80/TCP


二、安装

1.配置yum源

进入yum配置目录


cd /etc/yum.repos.d


创建备份


mkdir backup
1

将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
1

查看SElinux状态


getenforce


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


setenforce 0
1

永久关闭SElinux


vim /etc/selinux/config


SELINUX=enforcing 改为 SELINUX=disabled


3.配置静态IP

进入网卡配置目录


cd /etc/sysconfig/network-scripts/
1

编辑网卡配置


vim ifcfg-ens33
1

文件内容


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

1

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
1

跳转到文件夹生成证书

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服务器架构。

目录
相关文章
|
运维 Java 应用服务中间件
九五从零开始的运维之路(其十九)
Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。 Tomcat虚拟主机是通过linux或windows操作系统下进行独立运行的一个网站发布容器,他是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。
83 0
|
SQL 运维 关系型数据库
|
运维 关系型数据库 MySQL
九五从零开始的运维之路(其三十五)
MHA(MasterHigh Availability)是一套优秀的MySQL高可用环境下故障切换和主从复制的软件。 MHA 的出现就是解决MySQL 单点的问题。 MySQL故障切换过程中,MHA能做到0-30秒内自动完成故障切换操作。 MHA能在故障切换的过程中最大程度上保证数据的一致性,以达到真正意义上的高可用。
69 2
|
监控 Linux 网络安全
Linux系统下的keepalived双机热备
在一个 LVS 服务集群中通常有主服务器(MASTER)和备份服务器(BACKUP)两种角色的服务器,但 是对外表现为一个虚拟 IP,主服务器会发送 VRRP 通告信息给备份服务器,当备份服务器收不到 VRRP消息的时候,即主服务器异常的时候,备份服务器就会接管虚拟 IP,继续提供服务,从而保证了高可用性。
156 0
|
运维 负载均衡 算法
九五从零开始的运维之路(其三十六)
(一)四层负载均衡器 四层负载均衡器也称为 4 层交换机,主要通过分析 IP 层及 TCP/UDP 层的流量实现基于 IP 加端口的负载均衡,如常见的 LVS、F5 等;
61 0
|
存储 缓存 NoSQL
九五从零开始的运维之路(其三十二)
本篇将简述的内容:Linux系统下的Redis基础
70 0
|
存储 运维 Linux
九五从零开始的运维之路(其三十一)
计划任务是在指定的时间间隔内自动执行的任务。在Linux系统中,常用的计划任务工具是crond(cron daemon)。用户可以通过创建计划任务来定期执行指定的命令或脚本。
62 0
|
存储 运维 关系型数据库
九五从零开始的运维之路(其二十九)
数据库备份是指将数据库中的数据、表格、视图、存储过程、触发器等信息备份到另一个地方,以便在数据库丢失或损坏时进行恢复。数据库备份是数据库管理中必不可少的一项工作,通过备份可以保护数据库中的数据和业务
75 0
|
运维 关系型数据库 MySQL
九五从零开始的运维之路(其二十八)
数据库用户权限管理是数据库系统中非常重要的一个方面,它用于控制不同用户访问和操作数据库的权限范围。数据库用户权限管理可以保护敏感数据和数据库结构,确保只有被授权的用户才可以操作和使用数据库,防止数据被修改或泄露,并最大程度地保证数据库的安全。为了保护数据库的安全性,合理管理MySQL服务用户的权限是至关重要的。
52 0
|
存储 SQL 运维
九五从零开始的运维之路(其二十七)(1)
排序查询:排序查询是通过SQL查询语句将所查询的结果按照指定的排序方式排列 升序(默认):ASC
162 0
下一篇
DataWorks