一、windows 下安装
1、下载 Nginx
官网地址:http://nginx.org/en/download.html 下载稳定版本
以nginx/Windows-1.16.1为例,直接下载 nginx-1.16.1.zip。
下载后解压,解压后如下:
2、启动 nginx
有很多种方法启动 nginx:
(1)直接双击nginx.exe,双击后一个黑色的弹窗一闪而过
(2)打开cmd命令窗口,切换到nginx解压目录下,输入命令 nginx.exe
,回车即可
3、检查 nginx 是否启动成功
直接在浏览器地址栏输入网址 http://localhost:80 回车,出现以下页面说明启动成功!
4、配置监听
nginx的配置文件是conf目录下的nginx.conf,默认配置的nginx监听的端口为80,如果80端口被占用可以修改为未被占用的端口即可。
当我们修改了nginx的配置文件nginx.conf 时,不需要关闭nginx后重新启动nginx,只需要执行命令 nginx -s reload
即可让改动生效
5、关闭 nginx
如果使用cmd命令窗口启动nginx, 关闭cmd窗口是不能结束nginx进程的,可使用两种方法关闭nginx
(1)输入 nginx 命令,nginx -s stop
(快速停止nginx) 或 nginx -s quit
(完整有序的停止nginx)
(2)使用taskkill taskkill /f /t /im nginx.exe
1 2 3 4 | taskkill 是用来终止进程的 /f 是强制终止 /t 终止指定的进程和任何由此启动的子进程。 /im 是指定的进程名称 |
二、Linux 下安装
1、安装 gcc
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
1 | yum install gcc-c++ |
2、PCRE pcre-devel 安装
PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。
方式一:使用 yum 命令安装
1 | yum install -y pcre pcre-devel |
方式二:下载安装包
(1)联网下载 pcre 压缩文件依赖
1 | yum install -y openssl openssl-devel |
(2)解压压缩文件
1 | 使用命令 tar –xvf pcre-8.37. tar .gz |
(3)./configure 完成之后,回到 pcre 目录下执行 make,最后执行 make install
3、zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
1 | yum install -y zlib zlib-devel |
4、OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
Nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
1 | yum install -y openssl openssl-devel |
5、下载安装包
手动下载.tar.gz安装包,地址:https://nginx.org/en/download.html
下载完毕后上传到服务器上
6、解压
1 2 | tar -zxvf nginx-1.18.0. tar .gz cd nginx-1.18.0 |
7、配置
使用默认配置,在 nginx 根目录下执行
1 2 3 | . /configure make make install |
查找安装路径:
1 | whereis nginx |
三、启动Nginx
1、进入安装目录
进入目录 /usr/local/nginx/sbin/nginx 启动服务
1 | . /nginx |
启动成功访问:
1 | 服务器ip:80 |
2、访问问题
在 windows 系统中访问 linux 中 nginx,默认不能访问的,因为防火墙问题。
(如果连接不上,检查阿里云安全组是否开放端口,或者服务器防火墙是否开放端口)
(1)关闭防火墙;
(2)开发访问的端口号,80端口
3、操作防火墙命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | # 开启 service firewalld start # 重启 service firewalld restart # 关闭 service firewalld stop # 查看防火墙规则 firewall-cmd --list-all # 查询端口是否开放 firewall-cmd --query-port=8080 /tcp # 开放80端口 firewall-cmd --permanent --add-port=80 /tcp firewall-cmd --permanent --add-service=http # 移除端口 firewall-cmd --permanent --remove-port=8080 /tcp #重启防火墙(修改配置后要重启防火墙) firewall-cmd --reload # 参数解释 1、firwall-cmd:是Linux提供的操作firewall的一个工具; 2、--permanent:表示设置为持久; 3、--add-port:标识添加的端口; |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· 没有源码,如何修改代码逻辑?
· NetPad:一个.NET开源、跨平台的C#编辑器
· 面试官:你是如何进行SQL调优的?