一、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
taskkill 是用来终止进程的
/f 是强制终止
/t 终止指定的进程和任何由此启动的子进程。
/im 是指定的进程名称
二、Linux 下安装
1、安装 gcc
安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
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 命令安装
yum install -y pcre pcre-devel
方式二:下载安装包
(1)联网下载 pcre 压缩文件依赖
yum install -y openssl openssl-devel
(2)解压压缩文件
使用命令 tar –xvf pcre-8.37.tar.gz
(3)./configure 完成之后,回到 pcre 目录下执行 make,最后执行 make install
3、zlib 安装
zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
4、OpenSSL 安装
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
Nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel
5、下载安装包
手动下载.tar.gz安装包,地址:https://nginx.org/en/download.html
下载完毕后上传到服务器上
6、解压
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
7、配置
使用默认配置,在 nginx 根目录下执行
./configure
make
make install
查找安装路径:
whereis nginx
三、启动Nginx
1、进入安装目录
进入目录 /usr/local/nginx/sbin/nginx 启动服务
./nginx
启动成功访问:
服务器ip:80
2、访问问题
在 windows 系统中访问 linux 中 nginx,默认不能访问的,因为防火墙问题。
(如果连接不上,检查阿里云安全组是否开放端口,或者服务器防火墙是否开放端口)
(1)关闭防火墙;
(2)开发访问的端口号,80端口
3、操作防火墙命令
# 开启
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:标识添加的端口;