Centos7 yum安装配置Web服务器系列(三)安装 Nginx

安装最常用的Nginx服务

本文使用 阿里云服务器 Centos 7 Linux 服务器。

Nginx介绍

        Nginx是一款使用C语言开发的高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。

Nginx的应用场景

  • http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
  • 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
  • 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

准备工作

修改防火墙规则,开放80/443端口。(记得重启防火墙)
端口设置可参考本系列教程 :Centos7 yum安装配置Web服务器系列(一)小谈防火墙问题

通过yum命令安装Nginx

1)添加Nginx存储库

要添加CentOS 7 EPEL仓库,请打开终端并使用以下命令:

yum install epel-release

2)安装

yum install nginx

3)启动nginx并设置开机启动

systemctl start nginx
systemctl enable nginx

4)测试访问,出现下面页面则说明搭建成功。

Nginx默认页

5)配置Nginx

Nginx的主配置文件:

1.  vim /etc/nginx/nginx.conf

配置参数详情请移步 Nginx httpd.conf文件配置参数说明 查看

Nginx配置支持PHP:

在 /etc/nginx/conf.d 目录下存放着多个配置文件 这些配置项会在Nginx运行时加载到主配置项目中(类似虚拟机)

Nginx是通过php-fpm来通讯的,所以需要监听9000端口。

在这个目录下生成一个自己的配置文件例如 admin.conf

vim /etc/nginx/conf.d/admin.conf

写入以下内容:

server {
    listen          80; #端口
    server_name     admin1.test.com admin.test.com ; # 域名
    root            /var/www/card/public; # 网站根目录
    index           index.php index.html index.htm;
    location / {
        if (!-e $request_filename) {
            rewrite  ^(.*)$  /index.php?s=/$1  last; #主要配置隐藏url中index.php
            break;
        }
    }
    location ~ \.php$ {
        #root           /var/www/card/public;
        fastcgi_pass    127.0.0.1:9000;
        fastcgi_index   index.php;
        fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include         fastcgi_params;
    }
}

Nginx反向代理配置:

upstream test{
    server 192.168.68.43:8080 weight=1;
    server 192.168.68.44:8080 weight=1;
}
server {
    listen      80;
    server_name porxy.zxy.com;

    location / {
        proxy_pass  #这里可直接写IP地址进行配置 如果需要配置负载均衡 可以使用 http://test 和upstream名称一致
        #以下是一些反向代理的配置可删除
        proxy_redirect      off; 
        proxy_set_header    Host $host;  #指定请求的服务器的域名和端口号
        proxy_set_header    X-Real-IP $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for; #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
        
        client_max_body_size        10m; #允许客户端请求的最大单文件字节数
        client_body_buffer_size     128k; #缓冲区代理缓冲用户端请求的最大字节数
        proxy_connect_timeout       300; #nginx跟后端服务器连接超时时间(代理连接超时)
        proxy_send_timeout          300; #后端服务器数据回传时间(代理发送超时)
        proxy_read_timeout          300; #连接成功后,后端服务器响应时间(代理接收超时)
        proxy_buffer_size           4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
        proxy_buffers               4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
        proxy_busy_buffers_size     64k; #高负荷下缓冲大小(proxy_buffers*2)
        proxy_temp_file_write_size  64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。