Nginx学习笔记(一)

Posted by Lain on 09-19,2019

Nginx学习笔记(一)

以前也经常用到nginx,但一直没有系统的整理过。正好今天整了台华为的服务器,但我域名是在阿里云的服务器上备案的,华为的备案还是老一套,懒得再在华为云的机子上备案了,于是决定在阿里云的学生机上装nginx作反向代理,顺便再系统的学习记录一下。

安装

源码安装还是太繁琐了,编译又慢==,这里采用yum安装的方式。Nginx的官方文档也给的很详细,这里给出一个文档地址

首先安装依赖的工具包

sudo yum install yum-utils

然后设置yum源,我们直接通过vi创建配置文件

vi /etc/yum.repos.d/nginx.repo

然后输入以下配置:

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

esc退出编辑模式,:wq回车保存并退出

这里配置了两个源,一个是Nginx的稳定版,一个是每夜版,我们选择稳定版进行安装。如果需要使用最新的每夜版,可以通过如下指令指定:

sudo yum-config-manager --enable nginx-mainline

然后安装Nginx

sudo yum install nginx

安装完后会让你核对一下GPG密钥573B FD6B 3D8F BC64 1079 A6AB ABF5 BD82 7BD9 BF62,确定无误后继续即可。

通过yum安装的Nginx会安装在**/etc/nginx**目录下,该目录下有个conf.d文件夹,我们可以把对不同网站的设置分开写成多个.conf文件,放在这个文件夹里,nginx启动的时候会自动加载这些配置文件。

安装完成之后,nginx服务并没有启动。此时我们可以执行以下命令:

service nginx start
service nginx stop //停止nginx服务

在CentOS7.5里面,这个命令会被重定向到systemctl,所以建议使用这种方式:

systemctl start nginx
systemctl stop nginx //停止

这次我们简单的配置个反向代理试试。

在conf.d文件夹中,新建一个文件,名为lain.conf(名字随意,但后缀要是*.conf,建议名字要有代表性,可以和其他配置文件区分开来)

在里面输入如下配置:

server {
    listen       80;
    server_name  blog.lain.fun; # 博客域名

    access_log off;

    location / {
        proxy_pass http://136.6.6.6:6666$request_uri;
        proxy_set_header  Host $host:$server_port;
        proxy_set_header  X-Real-IP  $remote_addr;
        client_max_body_size  10m;
    }
}

其中proxy_pass就是配置反向代理的目标地址的地方,$request_uri会自动替换成请求的uri地址。

这里我们是通过server_name属性来区分不同的目标地址的,比如说我有两个域名,一个是blog.lain.club,另一个是nep.lain.fun,两个域名都解析向Nginx代理服务器的ip,默认都走80端口,Nginx会根据域名不同来决定将请求转发到哪里去。

这里就简单的配置一下,之后再详细的介绍配置参数的作用。