首页
Linux常用
docker常用
关于
Search
1
docker安装MDCX
180 阅读
2
UNRAID增加和缩小虚拟机虚拟磁盘大小
48 阅读
3
unraid添加iSCSI 发起程序
39 阅读
4
iStoreOS上使用WireGuard
20 阅读
5
docker安装WireGuard Easy
13 阅读
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
登录
Search
标签搜索
nginx
unraid
PVE
wow服务器
装机硬件
宏
v2ray
直通
电视盒子
相册
黑裙7.0.1
远程穿透
定时
ssh
emby
symlink
软链接
Linux
sftp
防火墙
奥黛丽·逐爱者
累计撰写
100
篇文章
累计收到
10
条评论
首页
栏目
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
页面
Linux常用
docker常用
关于
搜索到
6
篇与
Nginx
的结果
2024-04-03
Nginx 的安装
Windows 下安装Windows 下的 Nginx 不能用于生产,一般用于开发目的或者尝鲜体验。下载 Nginx从 官方网站 下载稳定版本。以 nginx/Windows-1.18.0 为例,直接下载 nginx-1.18.0.zip。下载后解压,解压后如下:启动 Nginx有两种方法启动 Nginx:直接双击 nginx.exe ,双击后一个黑色的弹窗一闪而过。(不建议用这种方式)打开 cmd 命令窗口,切换到 Nginx 解压目录下,输入命令 nginx.exe ,回车即可。检查 Nginx 是否启动成功直接在浏览器地址栏输入网址 http://localhost:80 回车,出现以下页面说明启动成功:配置监听Nginx 的配置文件是 /conf 目录下的 nginx.conf ,默认配置的 Nginx 监听的端口为 80,如果 80 端口被占用可以修改为未被占用的端口即可。server { listen 80; server_name localhost;当我们修改了 Nginx 的配置文件 nginx.conf 时,不需要关闭 Nginx 后重新启动 Nginx,只需要执行命令 nginx -s reload 即可让改动生效。关闭 Nginx如果使用 cmd 命令窗口启动 Nginx,关闭 cmd 窗口是不能结束 Nginx 进程的,可使用两种方法关闭 Nginx:输入 Nginx 命令 nginx -s stop (快速停止 Nginx)或 nginx -s quit (完整有序的停止 Nginx)使用 taskkill:taskkill /f /t /im nginx.exetaskkill 是用来终止进程的/f 是强制终止/t 终止指定的进程和任何由此启动的子进程/im 根据名字指定要终止的进程Linux 下安装有三种安装方式:编译安装:根据源码,根据实际业务需求,需要什么功能,编译时添加相应的模块。这种方式可以让 Nginx 最轻量化安装。自动化安装:配置好安装源,直接通过自动化安装工具安装。这种方式有可能会因为缺少相关依赖而安装失败。CentOS: yum install nginx Ubuntu: apt-get install nginx二进制安装:类似于绿色免安装版,把编译安装好的程序封装起来的一个包。一般采用第一种编译安装的方式。准备依赖环境以下命令,如果你是 root 账户,直接执行即可,不是的话前面加 sudo 获取权限。Ubuntu(16.04、18.04、20.04):# 建议先执行下 apt-get 的更新 apt-get update # 安装 gcc 和 g++ 依赖库 apt-get install build-essential apt-get install libtool # 安装 PCRE pcre-devel 依赖库 apt-get install libpcre3 libpcre3-dev # 安装 zlib 依赖库(注意 lib 后面是阿拉伯数字 1,不是字母 l) apt-get install zlib1g-dev # 安装 OpenSSL 依赖库 apt-get install openssl apt-get install libssl-dev # 未安装该库会报 SSL modules require the OpenSSL library.CentOS(7.6):# 安装 gcc 依赖库 yum install gcc-c++ # 安装 PCRE pcre-devel 依赖库 yum install -y pcre pcre-devel # 安装 zlib 依赖库 yum install -y zlib zlib-devel # 安装 OpenSSL 依赖库 yum install -y openssl openssl-develgcc 依赖库:安装 Nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装。PCRE pcre-devel 依赖库:PCRE(Perl Compatible Regular Expressions)是一个 Perl 库,包括 perl 兼容的正则表达式库。Nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 Linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库,Nginx 也需要此库。zlib 依赖库:lib 库提供了很多种压缩和解压缩的方式,Nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要安装 zlib 库。OpenSSL 依赖库:OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。Nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要安装 OpenSSL 库。准备源码包以下命令,如果你是 root 账户,直接执行即可,不是的话前面加 sudo 获取权限。从 官方网站 下载稳定版本到任意目录(例如我一般会把软件放到 /opt ),并解压。# 下载 wget http://nginx.org/download/nginx-1.18.0.tar.gz # 解压 tar -zxvf nginx-1.18.0.tar.gz编译安装以下命令,如果你是 root 账户,直接执行即可,不是的话前面加 sudo 获取权限。首先进入 Nginx 安装包的解压目录:cd nginx-1.18.0/下面开始安装 Nginx:# 预编译 ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module # 检查是否编译正确 echo $? # 如果返回值是 0,就是执行成功;如果是返回值是 0 以外的值,就是失败。 # 编译 make # 安装 make install在 ./configure 命令后跟了一堆参数,它们分别表示:--prefix:指定当前要安装的 Nginx 主程序目录--sbin-path:安装完成后,使用 Nginx 的命令放在该目录下--user:运行 Nginx 的用户--group:运行 Nginx 的用户组--with-(模块名):为 Nginx 添加的模块比较完整的配置项的含义请参见 官方网站添加 Nginx 用户一般我们会创建一个不能 ssh 登录的帐号,这类账号专门用于启动服务,只是让服务启动起来,但是不能登录系统(提升安全性)。# 为 Nginx 创建一个不能 ssh 登陆的用户(预编译命令中指定的用户和用户组) useradd nginx -s /sbin/nologin -M在 useradd 命令后跟了两个参数,它们分别表示:-s:表示指定用户所用的 shell,此处为 /sbin/nologin ,表示不登录-M:表示不创建用户主目录验证安装成功主要通过 Nginx 能否启动来验证是否安装成功,一般我会运行以下这些命令来测试。# 查找安装路径 whereis nginx # 查看 Nginx 的安装目录 cd /usr/local/nginx # 预编译命令中指定的路径 ls # 查看 Nginx 程序管理命令 cd /usr/local/nginx/sbin # 预编译命令中指定的路径 ls # 查看 Nginx 版本 /usr/local/nginx/sbin/nginx -v # 启动 Nginx /usr/local/nginx/sbin/nginx # 查看 Nginx 进程 ps -ef | grep nginx # 检查 Nginx 启动的端口(默认 0.0.0.0:80) netstat -lntup | grep nginx接下来通过浏览器访问 Nginx(服务器 IP:80),出现以下页面说明启动成功:如果不能访问,就要先看下服务器是不是开启了防火墙但又没开放端口(你可以选择不开防火墙,或者开完防火墙后记得开需要的端口)。# 查看状态, 发现当前是 dead 状态, 即防火墙未开启 systemctl status firewalld # 开启防火墙, 没有任何提示即开启成功 # 再次查看状态, 显示 running 即已开启了 systemctl start firewalld # 开放默认端口号 80, 提示 success, 表示设置成功 firewall-cmd --permanent --zone=public --add-port=80/tcp # 修改后需要重新加载配置才生效 firewall-cmd --reload; # 查看已经开放的端口 firewall-cmd --permanent --list-port # 关闭默认的端口号 80(如果需要的话, 执行这个命令就行了) firewall-cmd --permanent --zone=public --remove-port=80/tcp # 关闭防火墙(如果需要的话, 执行这个命令就行了) systemctl stop firewalld如果使用的是阿里云等云厂家的服务器,80 端口是默认开启的,如果用了其它端口,则需要去云管理平台进行一些设置。大致的入口是:进入云服务管理控制平台 ——> 进入云服务器 ——> 选择实例 ——> 管理。阿里云就找到:本实例安全组 --> 配置规则 --> 添加安全组规则。腾讯云就找到:防火墙 --> 管理规则 --> 添加规则。新增的规则就参考自带的 80 端口写就好了。这里就是测一下能不能启停,生产环境要把 Nginx 加到系统自启。现在先关闭 Nginx。# 关闭 Nginx /usr/local/nginx/sbin/nginx -s stop
2024年04月03日
7 阅读
0 评论
0 点赞
1
2