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

Linux架构篇、第一章_03安装部署nginx

Linux_基础篇

欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神!

题目:安装部署nginx

版本号: 1.0,0
作者: @老王要学习
日期: 2025.05.02
适用环境: Centos7

文档说明

本文档聚焦于 CentOS 7 环境下 Nginx 的安装部署。详细介绍了两种安装方法,即 yum 安装和编译安装,同时包含创建自定义配置文件、域名解析、设置开机自启等内容,还提供了一键安装脚本,为用户在 Linux 系统上搭建 Nginx 服务提供全面指导

环境准备

硬件要求

  • 服务器: 2核CPU、2GB内存,20GB硬盘空间
  • 网络: 确保服务器具有固定的IP地址,并且防火墙允许FTP端口(默认22端口)的通信

软件要求

  • 操作系统:Centos7
  • FTP软件:SecureCRT
  • 软件包:nginx

一、安装部署nginx

安装方法1:yum安装

1.0关闭防火墙

systemctl stop firewalld && systemctl disable firewalldsed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/configreboot

1.1安装epel源

#安装依赖:
yum -y install wget vim #安装epel源
wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

1.2更新缓存

# 更新缓存
yum makecache# 查看yum仓库
yum repolist#结果如下: 
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.com
源标识                   源名称                                                 状态
base/7/x86_64            CentOS-7 - Base - mirrors.aliyun.com                   10,072
epel/x86_64              Extra Packages for Enterprise Linux 7 - x86_64         13,791
extras/7/x86_64          CentOS-7 - Extras - mirrors.aliyun.com                    526
updates/7/x86_64         CentOS-7 - Updates - mirrors.aliyun.com                 6,173
repolist: 30,562

1.3进入yum.repos.d编写配置文件

cat>/etc/yum.repos.d/nginx.repo<<EOF
[nginx-stable]name=nginx stable repobaseurl=http://nginx.org/packages/centos/$releasever/$basearch/gpgcheck=1enabled=1gpgkey=https://nginx.org/keys/nginx_signing.keymodule_hotfixes=true
EOF

1.4安装

# 重新建立缓存
yum makecache# 安装nginx
yum install nginx

安装方法2:编译安装

1.1安装依赖包

yum -y install pcre-devel openssl-devel zlib-devel

1.2下载安装包

# 下载nginx包
wget https://nginx.org/download/nginx-1.26.3.tar.gz -c  /usr/local/src/# 解压安装包
tar zxf /usr/local/src/nginx-1.26.3.tar.gz

1.3创建用户

groupadd -r wwwuseradd -g www -M -s /bin/false -r wwwid www

1.4编译安装

#编译
cd /usr/local/src/nginx-1.26.3./configure --prefix=/usr/local/nginx/#安装
make && make install

1.5启动nginx

/usr/local/nginx/sbin/nginxss -antpl | grep nginx
#结果如下: 
LISTEN     0      128          *:80                       *:*                   users:(("nginx",pid=10790,fd=6),("nginx",pid=10789,fd=6))

1.6网页测试

curl localhost#结果如下: 
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
html { color-scheme: light dark; }
body { width: 35em; margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif; }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p><p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p>
</body>
</html>

二、创建自己的配置文件

2.1创建配置文件

# 停止nginx
/usr/local/nginx/sbin/nginx -s stop# 写入配置文件
cat>/usr/local/nginx/conf/mynginx.conf<<EOF
events {}http {server {location / {root html1;}}
}
EOF

2.2创建web01

#创建网页lw01目录
mkdir /usr/local/nginx/html1/#写入内容
echo "my nginx web01" > /usr/local/nginx/html1/index.html#启动服务
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/mynginx.conf#访问测试
curl localhost

2.3创建web02

#停止nginx服务
/usr/local/nginx/sbin/nginx -s stop#创建web02目录
mkdir /usr/local/nginx/html2#写入数据
echo "mynginx web02" > /usr/local/nginx/html2/index.html#修改配置文件
cat > /usr/local/nginx/conf/nginx.conf <<EOF
events {}
http {server {listen 80;server_name www.web1.com;location / {root html1;}}server {listen 80;server_name www.web2.com;location / {root html2;}}
}
EOF

2.4域名解析

#追加内容到hosts文件
cat>>/etc/hosts<<EOF
192.168.8.10 www.web1.com
192.168.8.10 www.web2.com
EOF#启动服务
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/mynginx.conf#访问测试
curl www.web1.comcurl www.web2.com

三、开机自启动

/usr/local/nginx/sbin/nginx -s stopcat>/usr/lib/systemd/system/nginx.service<<EOF[Unit]Description=Web server daemonAfter=network.target[Service]Type=forlingEnvironmentFile=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.confKillMode=process[Install]WantedBy=multi-user.target
EOF#重启服务 
systemctl daemon-reloadsystemctl start nginxsystemctl enable nginx

四、编写一键安装脚本

4.1关闭防火墙

systemctl stop firewalld && systemctl disable firewalldsed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/configreboot

4.2一键安装脚本

#!/bin/bash#下载nginx进行安装#安装开发软件yum -y install pcre-devel openssl-devel zlib-devel#下载nginx包cd /usr/local/src/wget https://nginx.org/download/nginx-1.26.3.tar.gztar zxf nginx-1.26.3.tar.gz#创建一个系统用户组groupadd -r wwwuseradd -g www -M -s /bin/false -r wwwid www#添加模块cd /usr/src/nginx-1.26.3/./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_addition_module --with-http_sub_module  --with-http_flv_module  --with-http_random_index_module  --with-http_stub_status_module#源码编译make && make install#停止nginx/usr/local/nginx/sbin/nginx -s stopcat > /usr/local/nginx/conf/nginx.conf <<EOFevents {}http{server {location / {root html1;}}}EOFmkdir /usr/local/nginx/html1/echo "my nginx web01" > /usr/local/nginx/html1/index.html/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/mynginx.confcurl localhost#创建web02/usr/local/nginx/sbin/nginx -s stopmkdir /usr/local/nginx/html2echo "mynginx web02" > /usr/local/nginx/html2/index.htmlcat > /usr/local/nginx/conf/nginx.conf <<EOFevents {}http {server {listen 80;server_name www.web1.com;location / {root html1;}}server {listen 80;server_name www.web2.com;location / {root html2;}}}EOF#域名解析echo "192.168.8.10 www.web1.com192.168.8.10 www.web1.com" >>  /etc/hosts/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/mynginx.confcurl www.web1.comcurl www.web2.com#开机自启/usr/local/nginx/sbin/nginx -s stopcd /usr/lib/systemd/systemcp sshd.service nginx.servicecat > nginx.service <<EOF[Unit]Description=Web server daemonAfter=network.target[Service]Type=forlingEnvironmentFile=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.confKillMode=process[Install]WantedBy=multi-user.targetEOFsystemctl daemon-reloadsystemctl start nginxsystemctl enable nginx
http://www.xdnf.cn/news/251857.html

相关文章:

  • 第二十周:项目开发中遇到的相关问题(一)
  • 深入理解 MyBatis 代理机制
  • 使用mybatis实例类和MySQL表的字段不一致怎么办
  • 软件测试概念
  • 本地大模型编程实战(32)用websocket显示大模型的流式输出
  • smss源代码分析之smss!SmpLoadSubSystemsForMuSession函数分析加载csrss.exe
  • 全感官交互革命:当 AI 大模型学会 “看、听、说、创”
  • 滑动窗口leetcode 209和76
  • rabbitMQ如何确保消息不会丢失
  • [学成在线]22-自动部署项目
  • 【Git】万字详解 Git 的原理与使用(上)
  • 精益数据分析(37/126):深度剖析SaaS模式下的参与度与流失率指标
  • STM32——GPIO
  • AI 生成内容的版权困境:法律、技术与伦理的三重挑战
  • patch命令在代码管理中的应用
  • C++负载均衡远程调用学习之UDP SERVER功能
  • react + antd 实现后台管理系统
  • TS 常用类型
  • C++-Lambda表达式
  • MySQL 窗口函数
  • 使用conda安装Python库包报错:module ‘libmambapy‘ has no attribute ‘QueryFormat‘
  • SpringBoot实现条件分页
  • ROPE(旋转位置编码)简述
  • 数据库性能杀手与调优实践
  • 第十六届蓝桥杯单片机组省赛(第一套)
  • 解决 3D Gaussian Splatting 中 SIBR 可视化组件报错 uv_mesh.vert 缺失问题【2025最新版!】
  • 基于深度学习的毒蘑菇检测
  • 大学生入学审核系统设计与实现【基于SpringBoot + Vue 前后端分离技术】
  • 精益数据分析(38/126):SaaS模式的流失率计算优化与定价策略案例
  • ubuntu22.04安装显卡驱动与cuda+cuDNN