2023最新!nginx安装配置保姆级教程
这篇文章了参考了这位的教程:https://blog.csdn.net/qq_36838700/article/details/129971765
导航
文章目录
一、nginx下载
-
-
需要的安装包
### 这些安装包是在你离线没有网络的情况下安装的 pcre-8.37.tar.gz rewrite正则相关pcre:URL重写软件,实现伪静态\URL跳转等、SEO优化。 openssl-1.0.1t.tar.gz https加密访问用它 zlib-1.2.8.tar.gz 提供数据压缩用 nginx-1.12.2.tar.gz 链接:https://pan.baidu.com/s/1QycvWTuVIGXqL7zDakMOJQ?pwd=ky2z 提取码:ky2z
二、编译安装nginx
下面的操作需要在Linux上执行,还没有安装Linux的话,可以参考我的博客安装centos7的教程
1.安装pcre
- 联网下载pcre
mkdir -p /opt/tools
:创建目录cd /opt/tools
:切换到该路径wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
- 如果没找到wget 命令 则执行 yum install -y wget即可随后重新执行上面的wget命令下载,
- 下载中
- 解压压缩文件
tar -zxvf pcre-8.37.tar.gz
cd pcre-8.37
./configure
:成一个适合当前系统的 Makefile 文件- 要是提示缺少C++的支持,可以使用
yum -y install gcc-c++
来安装C++
- 要是提示缺少C++的支持,可以使用
make
:当你已经使用./configure
命令生成了 Makefile 文件后,可以使用make
命令执行编译过程make install
:当你使用make
命令成功编译了一个软件包后,可以使用make install
命令将编译得到的可执行文件、库文件和其他必要的资源文件复制到系统指定的位置,以完成软件的安装过程。
安装openssl、zlib、gcc依赖
-
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
configure参数作用 nginx -V 查看安装的参数及模块 参数作用: --prefix=PATH 路径 如果不指定nginx默认安装位置在 /usr/local --user=USER 用户 --group=GROUP 组 --with-pcre 伪静态 --with-http_stub_status_module 状态 --with-http_ssl_module 加密 443 例如 ./configure --user=www --group=www --prefix=/application/nginx-1.12.2/ --with-http_stub_status_module --with-http_ssl_module --with-pcre ### 这不需要执行
安装nginx
- 联网下载nginx
cd /opt/tools
wget http://nginx.org/download/nginx-1.12.2.tar.gz
- 解压文件
tar -zxvf nginx-1.12.2.tar.gz
cd nginx-1.12.2
- 和上面一样,使用
./configure
生成makefire文件,然后执行make
进行编译,最后make install
进行按安装0
- 启动nginx
cd /usr/local/nginx/sbin
./nginx
-
访问nginx
- 用Windows系统去访问Linux下的nginx的话,默认是不能访问的,因为防火墙拦截了,需要关闭防火墙或者开房访问的端口号,80端口
- 查看开放的端口号
firewall-cmd --list-all
- 设置开放的服务或端口号
firewall-cmd --add-service=http --permanent
- 在 Linux 系统中,防火墙用于保护计算机免受来自网络的攻击和恶意访问。
firewall-cmd
命令是 Red Hat 系列发行版中默认使用的防火墙工具,它可以用于配置和管理防火墙规则。 --add-service=http
参数表示将 HTTP 服务添加到防火墙规则中。这个参数会自动配置所有必要的端口和协议,以便允许来自网络的 HTTP 请求通过防火墙。如果需要添加其他服务,可以将http
替换为对应的服务名称,比如ftp
、ssh
等。--permanent
参数表示将更改永久保存到防火墙规则中,即使系统重启后也能生效。如果省略这个参数,则更改只会在当前会话中生效,系统重启后会被清除。- 因此,运行
firewall-cmd --add-service=http --permanent
命令后,HTTP 服务将被添加到防火墙规则中,并且这个更改会永久保存在防火墙规则中。
- 在 Linux 系统中,防火墙用于保护计算机免受来自网络的攻击和恶意访问。
firewall-cmd --add-port=80/tcp --permanent
- 在这个命令中,
--add-port=80/tcp
参数表示将端口号 80 的 TCP 流量添加到防火墙规则中。这将允许来自网络的 TCP 流量通过防火墙,并传递到本地计算机上的端口 80。 --permanent
参数表示将更改永久保存到防火墙规则中,即使系统重启后也能生效。如果省略这个参数,则更改只会在当前会话中生效,系统重启后会被清除。- 因此,运行
firewall-cmd --add-port=80/tcp --permanent
命令后,端口号 80 的 TCP 流量将被添加到防火墙规则中,并且这个更改会永久保存在防火墙规则中。这样可以允许外部访问你的计算机上运行的使用端口 80 的服务,比如 Web 服务器。
- 在这个命令中,
- 重启防火墙
firewall-cmd --reload
- 再次查看:
firewall-cmd --list-all
- 访问
- 在Linux终端输入
ifconfig
,查询到ens33的IP地址,打开浏览器,输入IP地址:80
,如果弹出nginx的网页这说明防火墙设置成功
- 在Linux终端输入
- 联网下载pcre
二、拓展
- 配置环境变量PATH,加入nginx命令路径
vim /etc/profile
增加:export PATH="/usr/local/nginx/sbin: /:$PATH"
- 输入
source /etc/profile
- 在 Linux 系统中,
/etc/profile
是一个系统范围的配置文件,其中包含了一些全局的环境变量和系统级别的设置。这个文件通常用于设置系统范围的环境变量、添加系统级别的路径、定义全局的别名等。 - 通过运行
source /etc/profile
命令,你可以立即加载并应用/etc/profile
中的配置更改,而不需要重新启动系统。这样,你就可以立即使用新的环境变量和系统级别的设置,而无需关闭当前终端会话。 - 需要注意的是,
source
命令是 Bash shell 的内置命令,它会在当前 shell 环境中加载并执行指定的脚本文件(这里指的是/etc/profile
文件)。因此,该命令只会影响当前的 shell 会话,对其他 shell 会话没有影响。 - 总之,运行
source /etc/profile
命令可以立即加载系统级别的环境变量和配置文件,使其在当前 shell 会话中生效
- 在 Linux 系统中,
- 现在可以输入
nginx -v
就有对应的结果了