配置环境

更新最新yum

1
yum update

配置安装环境

使用yum下载Nginx的环境依赖

1
[root@ryx ~]# yum -y install gcc gcc-c++ automake autoconf libtool openssl openssl-devel gd gd-devel pcre pcre-devel make

如果出现下面这种错误,先去执行上面的步骤:更新yum,参考文章【Linux中遇到的一些报错问题

make: *** No rule to make targetbuild’, needed by default'. Stop.

make:***没有规则可制作目标“build”,由“default”需求。停止。

make:*** 没有规则可制作目标“instal1”。停止

下载Nginx安装包

一、官网下载 nginx 安装包

我这里安装的版本:nginx-1.15.12.tar.gz

Nginx 官网下载地址:Nginx Download

创建安装文件夹路径

/usr/local下新建nginx文件夹,并解压nginx-1.15.12.tar.gz到该文件夹下

1
2
[root@ryx ~]# mkdir /usr/local/nginx
[root@ryx ~]# tar -zxvf nginx-1.15.12.tar.gz -C /usr/local/nginx

编译安装

1
[root@ryx ~]# cd /usr/local/nginx/nginx-1.15.12

./configure 用来检测系统配置,生成makefile文件,以便可以用makemake install来编译和安装,检测环境配置是否完成,例如上面的gcc配置等。

提示:
不自定义配置路径的话,默认在当前目录下配置安装。执行该命令: ./configure
如果有自定义配置路径需求的话,执行该命令: ./configure --prefix=/usr/local/nginx2

1
[root@ryx nginx-1.15.12]# ./configure

为了以后压缩方便,再执行这个命令,安装 gzip_statichttp_ssl_module 模块
第一次安装,可以直接make&make install
但是之前就安装过ngixn,再次补充安装模块时 注意只make,不要make install了 ,因为会覆盖之前的

1
[root@ryx nginx-1.15.12]# ./configure --with-http_gzip_static_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-stream
1
2
3
## 编译
```shell
[root@ryx nginx-1.15.12]# make

安装

1
[root@ryx nginx-1.15.12]# make install

如果出现下面这种错误,就是前几步的时候没有更新yum,所以需要先执行上面的步骤更新yum,并且重新到 ./configure 那一步重新走一遍

make: * No rule to make target build', needed bydefault’. Stop.

安装成功后,就可以将压缩包、解压缩的文件夹删除,删除 nginx-1.15.12.tar.gz 压缩包

如果不用下载其他模块的话,是否需要删除 /usr/local/nginx下的 nginx-1.15.12 文件夹??

1. 还需要继续下载其他模块,所以这个文件夹暂时先保留
2. 如果只是简单使用nginx,不需要其他模块的话,那就删了吧~~~

启动Nginx

找到nginx安装地址 /sbin 路径下的nginx启动文件,执行该启动文件

加载默认配置文件

加载默认ngixn安装路径下的nginx.conf配置文件,并启动ngixn

1
[root@ryx ~]# /usr/local/nginx/sbin/nginx

加载指定nginx.conf配置文件

1
[root@ryx ~]# /usr/local/nginx/sbin/nginx -c /usr/local/nginx2/conf/nginx.conf

温馨提示,不理解原理的话,这里容易出错:

如果nginx自定义路径的话,只需要把路径修改成自定义路径的路径即可

在 ./configure 的时候自定义了路径( ./configure --prefix=/usr/local/ngixn2 ),就需要执行下面的命令进行启动

启动代码格式:nginx安装目录地址下的执行文件 -c nginx自定义的配置文件地址

例如:/usr/local/nginx/sbin/nginx -c /usr/local/nginx2/conf/nginx.conf

这时候nginx就会根据自定义的/usr/local/nginx2/conf/nginx.conf配置进行执行,而不是默认的/usr/local/nginx/conf/nginx.conf

启动ngixn后,自动生成各种配置

重启Nginx

加载默认ngixn安装路径下的nginx.conf配置文件,并重新启动

1
[root@ryx ~]# /usr/local/nginx/sbin/nginx -s reload

关闭Nginx

方法一:查看进程号,并杀死进程

1
[root@ryx ~]# ps -ef|grep nginx
1
[root@ryx ~]# kill -9 进程号

方法二:查看进程号,并停止

1
[root@ryx ~]# ps -ef|grep nginx
1
[root@ryx ~]# kill -TERM 进程号

或者

1
[root@ryx ~]# kill -INT 进程号

方法三:强制关闭Nginx

1
[root@ryx ~]# pkill -9 nginx

删除nginx

通过命令找到Linux下所有的nginx文件,然后删除ngixn相关文件

1
[root@ryx ~]# sudo find / -name nginx*

执行完上面的命令后,再删除 /usr/local/nginx 文件夹即可

Nginx简单配置

1.输入ip+端口默认打开

输入 ip + 端口号 默认打开nginx安装路径下/html文件夹中的 myhtml.html
修改index的配置
root:资源存储路径
index:输入ip+端口默认打开的资源 ,默认80端口

1
2
3
4
5
6
7
8
9
server {
listen 80;
server_name localhost;

location / {
root html;
index myhtml.html myhtml.htm;
}
}

2. 输入域名打开

如何实现在浏览器的网址框中用域名代替ip地址
例如: http://127.0.0.1/index.html 改成 http://www.baidu.com/index.html
想将ip改成域名显示,域名必须先绑定服务器
域名可以从某里云上购买。。。

1
2
3
server {
server_name www.baidu.com;
}

3. 反向代理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
server {
listen 80;
server_name www.baidu.com;

server_name_in_redirect off;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

location / {
root html;
index index.html index.htm;
proxy_pass http://www.baidu.com:8089;
}

}