mac或centos linux 安装install nginx

本文详细介绍了如何在CentOS7中通过Yum安装GCC、PCRE、Zlib和OpenSSL,以及Nginx的源码编译、配置和自启动设置。同时,也给出了在Mac上使用Homebrew快速安装Nginx的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

centos7:

一. gcc 安装

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

yum install gcc-c++

二. PCRE pcre-devel 安装

PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:

yum install -y pcre pcre-devel

三. zlib 安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

yum install -y zlib zlib-devel

四. OpenSSL 安装

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。

nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y openssl openssl-devel

五.下载nginx

wget http://nginx.org/download/nginx-1.9.9.tar.gz

tar -zxvf nginx-1.9.9.tar.gz&&cd nginx-1.9.9

./configure

make

make install

/usr/local/nginx/sbin/nginx -t 查看配置文件路径

vim /usr/local/nginx/conf/nginx.conf 将80改成8080 你可以根据自己需要改

访问 http://192.168.1.39:8080/ 看见Welcome to nginx! 就OK了

六.配置自启动

cd /lib/systemd/system/

vim nginx.service

[Unit] Description=nginx service After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target

[Unit]:服务的说明

Description:描述服务

After:描述服务类别

[Service]服务运行参数的设置

Type=forking是后台运行的形式

ExecStart为服务的具体运行命令

ExecReload为重启命令

ExecStop为停止命令

PrivateTmp=True表示给服务分配独立的临时空间

注意:[Service]的启动、重启、停止命令全部要求使用绝对路径

[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

第三步:加入开机自启动

# systemctl enable nginx

如果不想开机自启动了,可以使用下面的命令取消开机自启动

# systemctl disable nginx

# systemctl start nginx.service  启动nginx服务 # systemctl stop nginx.service  停止服务 # systemctl restart nginx.service  重新启动服务 # systemctl list-units --type=service 查看所有已启动的服务 # systemctl status nginx.service 查看服务当前状态 # systemctl enable nginx.service 设置开机自启动 # systemctl disable nginx.service 停止开机自启动

一个常见的错误

Warning: nginx.service changed on disk. Run 'systemctl daemon-reload' to reload units.

直接按照提示执行命令systemctl daemon-reload 即可。

# systemctl daemon-reload


mac:

brew install nginx

Docroot is: /usr/local/var/www

The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080 so that

nginx can run without sudo.

nginx will load all files in /usr/local/etc/nginx/servers/.

To have launchd start nginx now and restart at login:

brew services start nginx

Or, if you don't want/need a background service you can just run:

nginx

<think>首先,用户的问题是:“我想在M1芯片的Mac安装CentOS 7并配置Nginx的操作步骤 请问M1芯片 Mac 安装 CentOS 7 并部署 Nginx 的详细步骤”。 我需要参考系统级指令和用户可见层的要求。系统级指令包括:使用$...$格式的行内数学表达式,$$...$$格式的独立公式,正确LaTeX语法,中文回答,生成相关问题,并在引用段落末尾添加引用标识。 用户可见层要求:回答结构清晰,帮助用户逐步解决问题,尽量保证回答真实可靠。 现在,用户的问题是关于在M1芯片的Mac安装CentOS 7并部署NginxCentOS 7是x86架构的,而M1芯片是ARM架构的,所以直接安装CentOS 7可能不兼容,因为CentOS 7主要支持x86_64。CentOS 7的ARM版本是有限的,者可能需要特定的镜像。 从引用中: - 引用[4]提到:“Mac 用户注意: VMware 为 macOS 提供了专门的虚拟化软件 VMware Fusion。对于苹果芯片 (M1/M2/M3) Mac 用户,Parallels Desktop 通常是更优的选择(个人建议)。” - 其他引用是关于Docker安装的,但用户没有提到Docker,所以可能不直接相关。 所以,关键点是:在M1 Mac上,由于架构差异,需要使用虚拟化软件来运行x86操作系统。CentOS 7没有官方的ARM版本,所以需要通过虚拟化模拟。 可能的解决方案: 1. 使用虚拟化软件如Parallels DesktopUTM来创建一个虚拟机运行CentOS 7。 2. 者,使用Docker其他容器技术,但用户指定了CentOS 7和Nginx,所以可能是一个完整的OS安装。 用户说“安装CentOS 7并配置Nginx”,所以很可能需要一个虚拟机。 步骤概述: 1. **准备虚拟化软件**:在M1 Mac安装如Parallels DesktopUTM(免费)。 2. **获取CentOS 7镜像**:下载CentOS 7的ISO文件。 3. **创建虚拟机**:使用虚拟化软件创建VM,安装CentOS 7。 4. **安装CentOS 7**:在VM中安装操作系统。 5. **配置网络等**:确保VM可以上网。 6. **安装Nginx**:在CentOS 7中安装和配置Nginx。 7. **测试**:验证Nginx运行。 由于M1是ARM,CentOS 7是x86,虚拟化软件会处理架构模拟(如通过Rosetta 2硬件辅助虚拟化)。 从引用[4],Parallels Desktop是推荐给M1 Mac用户的。 现在,构建回答: - 结构清晰:分步骤解释。 - 使用中文。 - 生成相关问题。 - 引用:在末尾添加引用标识,但用户提供的引用是关于Docker的,可能不直接相关。我需要确保回答真实可靠,所以基于一般知识。 引用标识:系统指令说“回答中引用的段落末尾自然地添加引用标识”,但用户提供的引用[1]到[4]是关于Docker和VMware的,不是针对CentOS的。所以,我应该引用如果有外部来源,但这里我基于知识库。许在解释虚拟化时引用[4]。 用户引用[4]提到Parallels Desktop,所以我可以引用它。 步骤细节: 1. **安装虚拟化软件**: - 推荐Parallels Desktop for Mac(商业软件)UTM(免费开源)。 - 引用[4]建议Parallels Desktop for M1 Mac。 2. **下载CentOS 7 ISO**: - 从官方源下载CentOS 7 ISO文件。 3. **创建虚拟机**: - 在Parallels Desktop中创建新VM,选择ISO文件。 - 设置资源(CPU、内存、存储)。 4. **安装CentOS 7**: - 启动VM,进行CentOS安装过程。 - 选择安装类型,设置root密码等。 - 完成安装。 5. **配置CentOS 7**: - 更新系统:`sudo yum update` - 确保网络连接。 6. **安装Nginx**: - CentOS 7默认仓库没有Nginx,所以需要添加EPEL仓库。 - 命令: - `sudo yum install epel-release` - `sudo yum install nginx` - `sudo systemctl start nginx` - `sudo systemctl enable nginx` 7. **配置防火墙**: - `sudo firewall-cmd --permanent --add-service=http` - `sudo firewall-cmd --permanent --add-service=https` - `sudo firewall-cmd --reload` 8. **测试Nginx**: -Mac主机上访问VM的IP地址(通过浏览器`curl`)。 注意事项: - 由于架构差异,性能可能不是最佳。 - 考虑使用CentOS StreamAlmaLinux/Rocky Linux,它们有更好的ARM支持,但用户指定CentOS 7。 - CentOS 7将在2024年结束支持,建议使用更新版本。 生成相关问题: - 在回答末尾添加“相关问题”部分。 引用:在解释虚拟化软件时,可以引用[4]。 最终回答结构: 1. 引言:解释挑战(ARM vs x86)。 2. 步骤:分步指南。 3. 结论:验证安装。 4. 相关问题。</think>### M1芯片 Mac 安装 CentOS 7 并部署 Nginx 的详细步骤 在搭载 Apple Silicon(M1/M2/M3 芯片)的 Mac安装 CentOS 7 并部署 Nginx 存在架构兼容性挑战,因为 CentOS 7 主要针对 x86_64 架构设计,而 M1 芯片使用 ARM 架构。因此,无法直接在 macOS 上原生安装 CentOS 7。解决方案是通过虚拟化软件(如 Parallels Desktop UTM)创建一个虚拟机(VM)来运行 CentOS 7,并在其中部署 Nginx。以下步骤基于最佳实践整理,确保操作可行。整个过程约需 30-60 分钟,具体取决于您的网络速度和硬件资源。 #### 准备工作 1. **系统要求**: - M1 芯片的 MacmacOS Monterey 更高版本)。 - 至少 8GB RAM 和 20GB 可用磁盘空间(推荐 16GB RAM 和 40GB 空间以提升性能)。 - 稳定的互联网连接。 2. **必要工具**: - **虚拟化软件**:推荐使用 Parallels Desktop(商业软件,针对 M1 芯片优化) UTM(免费开源)。Parallels Desktop 提供更好的性能和兼容性,特别适合 M1 Mac 用户[^4]。 - **CentOS 7 ISO 文件**:从官方源下载 CentOS 7 的 ISO 镜像(例如:[CentOS 7 下载页面](https://www.centos.org/download/))。选择 `x86_64` 架构版本(如 `CentOS-7-x86_64-DVD-2009.iso`)。 - **Nginx 安装包**:将通过 CentOS 的 EPEL 仓库安装。 #### 详细步骤 以下步骤以 Parallels Desktop 为例(版本 18 更高)。如果您选择 UTM,操作类似,但配置界面略有不同。 ##### 步骤 1: 安装虚拟化软件 - **下载并安装 Parallels Desktop**: - 访问 [Parallels Desktop 官网](https://www.parallels.com/) 下载适用于 Apple Silicon 的版本。 - 安装过程:双击下载的 `.dmg` 文件,拖动到 Applications 文件夹,启动并按照向导完成安装(需要输入管理员密码)。 - **验证安装**:打开 Launchpad,启动 Parallels Desktop。如果提示激活,可选择试用版购买许可证。 - 引用说明:Parallels Desktop 为 M1 Mac 提供了硬件辅助虚拟化,通过 Rosetta 2 处理 x86 架构模拟,确保 CentOS 7 能正常运行[^4]。 ##### 步骤 2: 创建并安装 CentOS 7 虚拟机 - **创建新虚拟机**: - 打开 Parallels Desktop,点击“文件” > “新建”。 - 选择“安装 Windows 其他操作系统”,然后选择“从镜像文件”,导入下载的 CentOS 7 ISO 文件。 - 在操作系统类型中,选择“Linux” > “CentOS”(如果未列出,选择“其他 Linux”)。 - **资源分配**:根据您的硬件设置: - CPU:2-4 核(推荐 4 核以提升性能)。 - 内存:4-8GB(推荐 8GB)。 - 磁盘空间:至少 20GB(推荐 40GB,使用“动态分配”模式以节省空间)。 - 点击“继续”,完成虚拟机创建。 - **安装 CentOS 7**: - 启动虚拟机,CentOS 7 安装程序将自动加载。 -安装界面: - 选择语言(如“中文”“English”)。 - 在“安装位置”中,选择默认磁盘分区(点击“完成”即可)。 - 在“网络和主机名”中,启用网络连接(确保状态为“已连接”)。 - 设置 root 密码(例如:`YourSecurePassword123`)并创建用户账户(可选)。 - 点击“开始安装”,等待安装完成(约 10-20 分钟)。 - 安装完成后,重启虚拟机,登录 CentOS 7。 - **初始配置**: - 更新系统:打开终端,运行以下命令确保系统最新。 ```bash sudo yum update -y ``` - 验证网络:运行 `ping www.baidu.com`,确保能正常上网。 ##### 步骤 3: 在 CentOS 7 中安装和配置 Nginx - **添加 EPEL 仓库**:CentOS 7 默认仓库不包含 Nginx,需先安装 EPEL(Extra Packages for Enterprise Linux)。 ```bash sudo yum install epel-release -y ``` - **安装 Nginx**: ```bash sudo yum install nginx -y ``` - **启动并启用 Nginx**: ```bash sudo systemctl start nginx # 启动 Nginx sudo systemctl enable nginx # 设置开机自启 ``` - **配置防火墙**:允许 HTTP/HTTPS 流量。 ```bash sudo firewall-cmd --permanent --add-service=http # 添加 HTTP 服务 sudo firewall-cmd --permanent --add-service=https # 添加 HTTPS 服务 sudo firewall-cmd --reload # 重载防火墙规则 ``` - **验证 Nginx 运行**: -CentOS 终端中,运行 `sudo systemctl status nginx`,输出应显示“active (running)”。 - 获取虚拟机 IP 地址:运行 `ip addr show`,查找类似 `inet 192.168.x.x` 的地址。 -Mac 主机上打开浏览器,访问 `http://<虚拟机_IP>`(例如 `http://192.168.1.100`)。如果看到“Welcome to nginx!”页面,表示安装成功。 ##### 步骤 4: 优化和测试 - **基本 Nginx 配置**(可选): - 编辑默认配置文件:`sudo vi /etc/nginx/nginx.conf`,可调整监听端口添加自定义设置。 - 重启 Nginx 应用更改:`sudo systemctl restart nginx`。 - **性能测试**: -Mac 主机上使用 `curl -I http://<虚拟机_IP>` 检查响应头。 - 使用 `ab`(Apache Benchmark)工具测试负载:`ab -n 1000 -c 100 http://<虚拟机_IP>/`(需先安装 `httpd-tools`)。 #### 注意事项 - **架构兼容性问题**:由于 M1 芯片是 ARM 架构,而 CentOS 7 是 x86_64,虚拟化会带来约 10-20% 的性能损失。如果追求更高性能,建议考虑 ARM 兼容的 Linux 发行版(如 CentOS Stream 9 AlmaLinux)。 - **资源管理**:Parallels Desktop 在后台运行时可能占用较多资源,建议在系统偏好设置中调整 CPU/内存分配。 - **常见问题**: - **启动失败**:如果虚拟机无法启动,检查 ISO 文件是否损坏重新下载。在 Parallels Desktop 的“硬件”设置中,确保启用“启用嵌套虚拟化”。 - **网络连接问题**:确保虚拟机网络模式为“共享网络”(默认设置)。在 CentOS 中运行 `sudo dhclient` 刷新 IP。 - **Nginx 无法访问**:检查防火墙状态(`sudo firewall-cmd --list-all`),并确保 SELinux 已禁用(临时禁用:`sudo setenforce 0`)。 - **下一步建议**:CentOS 7 将于 2024 年结束支持,建议迁移到 CentOS Stream Rocky Linux。您也可以探索 Docker 容器化部署 Nginx,避免虚拟化开销[^1][^2]。 #### 相关问题 1. 如何在 M1 Mac 上使用 UTM 替代 Parallels Desktop 安装 CentOS 7? 2. CentOS 7 虚拟机的性能优化技巧有哪些(如磁盘 I/O 网络设置)? 3. 如何在 CentOS 7 上配置 Nginx 的 SSL/TLS 证书以实现 HTTPS? 4. 对于 M1 Mac,是否有原生支持 ARM 架构的 CentOS 替代方案? 5. 如何将 CentOS 7 虚拟机导出并迁移到其他 Apple Silicon 设备? [^4]: VMware 为 macOS 提供了专门的虚拟化软件,但针对苹果芯片 (M1/M2/M3) Mac 用户,Parallels Desktop 通常是更优的选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值