Nginx安装(详细版)

Nginx-概述与安装

在这里插入图片描述

介绍

Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx的网站有:百度、京东、新浪、网易、腾讯、淘宝等。

官网:https://nginx.org/

下载和安装

在Nginx的官网的下载页面中(http://nginx.org/en/download.html),就展示了当前Nginx版本,并提供了下载的连接。 如下:
f22e873956906178e1530a92e4c318ed_39732d32902e4c9a9da63f6be03b4209.png
下载的是最新稳定版
安装依赖包
由于nginx是基于c语言开发的,所以需要安装c语言的编译环境,及正则表达式库等第三方依赖库。

yum -y install gcc pcre-devel zlib-devel openssl openssl-devel

image.png
下载Nginx安装包

yum install wget
wget https://nginx.org/download/nginx-1.22.1.tar.gz

wget : wget命令用来从指定的URL下载文件。wget非常稳定,它在带宽很窄的情况下和不稳定网络中有很强的适应性,如果是由于网络的原因下载失败,wget会不断的尝试,直到整个文件下载完毕。如果是服务器打断下载过程,它会再次联到服务器上从停止的地方继续下载。
执行完wget指令后,就会在当前所在目录看到下载下来的文件。

image.png

解压

使用命令: tar -zxvf “你的Nginx压缩包”,我这里是:

tar -zxvf nginx-1.22.1.tar.gz

配置Nginx编译环境

cd nginx-1.22.1

-- 初始化Nginx
./configure --prefix=/usr/local/nginx

说明:
--prefix 指定的目录,就是我们安装Nginx的目录。
image.png
编译&安装

make & make install

目录结构

安装完Nginx后,我们可以切换到Nginx的安装目录(/usr/local/nginx),先来熟悉一下Nginx的目录结构
image.png

备注:
上述我们用到的一个指令 tree,该指令可以将我们指定的目录以树状结构展示出来。如果没有这个指令,可以通过以下指令进行安装。
yum install tree

重点目录和文件如下: 
目录/文件说明备注
conf配置文件的存放目录
conf/nginx.confNginx的核心配置文件conf下有很多nginx的配置文件,我们主要操作这个核心配置文件
html存放静态资源(html, css, )部署到Nginx的静态资源都可以放在html目录中
logs存放nginx日志(访问日志、错误日志等)
sbin/nginx二进制文件,用于启动、停止Nginx服务

查看Nginx是否成功安装

-- 查看Nginx的目录 位置
whereis nginx

出现Nginx的目录表示成功安装。

image.png

Nginx-命令

常用命令

Nginx中,我们的二进制可执行文件(nginx)存放在sbin目录下,虽然只有一个可执行文件,但是我们可以通过该指令配合不同的参数达到更加强大的功能。接下来,我们就演示一下Nginx常见指令, 在执行下面的指令时,都需要在/usr/local/nginx/sbin/目录下执行。
:::
1. 查看版本

./nginx -v

image.png
2. 检查配置文件
修改了nginx.conf核心配置文件之后,在启动Nginx服务之前,可以先检查一下conf/nginx.conf文件配置的是否有错误,命令如下:

./nginx -t

3. 启动

./nginx

启动之后,我们可以通过ps -ef指令来查看nginx的进程是否存在。

注意: nginx服务启动后,默认就会有两个进程。

启动之后,我们可以直接访问Nginx的80端口, http://ip 地址
image.png

注意:
要想正常访问Nginx,需要关闭防火墙或开放指定端口号,执行的指令如下:
A. 关闭防火墙
systemctl stop firewalld
B. 开放80端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
云服务器也要开放相应的端口的安全组!!!!!!

<br />**4. 停止**
./nginx -s stop

停止之后,我们可以查看nginx的进程:

ps -ef|grep nginx

5. 重新加载
当修改了Nginx配置文件后,需要重新加载才能生效,可以使用下面命令重新加载配置文件:

./nginx -s reload   -- 也是重启的意思

为了在任何地方可以修改和配置,我一般这样使用,进入修改Nginx配置:
vim /usr/local/nginx/conf/nginx.conf
重启Nginx:
/usr/local/nginx/sbin/nginx -s reload

帮助信息

nginx -h
或
nginx -?

环境变量配置

在上述我们在使用nginx命令在进行服务的启动、停止、重新加载时,都需要用到一个指令nginx,而这个指令是在nginx/sbin目录下的,我们每一次使用这个指令都需要切换到sbin目录才可以,使用相对繁琐。那么我们能不能在任意目录下都可以执行该指令来操作nginx呢?答案是可以的,配置nginx的环境变量即可。

通过vim编辑器,打开/etc/profile文件, 在PATH环境变量中增加nginx的sbin目录

vim /etc/profile

环境变量配置

#Nginx
export Nginx_HOME=/usr/local/nginx/sbin
export PATH=$Nginx_HOME/bin:$PATH
# 上面不行 就按照下面的
export JAVA_HOME=/usr/local/java/jdk1.8.0_131
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/nginx/sbin

修改完配置文件之后,需要执行 source /etc/profile 使文件生效。

source /etc/profile

接下来,我们就可以在任意目录下执行nginx的指令了


以上则是全部安装和基本的配置,其他nginx的应用以后会在发出来!!
💯