首页 Linux正文

Nginx简单配置(yum)

王昊 Linux 2019-07-17 230 0

什么是Nginx

nginx是一个高性能的HTTP Server和代理软件,它具有高并发、且占用资源少,同时也是一个比较优秀的代理和负载均衡、缓存服务器,它可以运行于多种平台

Nginx的特点

Web服务器:

高性能的WEB服务器软件,与Apache相比,它支持更多的并发连接且占用服务器资源少,效率高

反向代理或负载均衡服务器:

作为负载均衡服务器,它可以作为HTTP SERVER或DB等服务的代理服务器,类似Haproxy代理软件的功能,Nginx的代理功能相对简单,效率也不及Haproxy,同时它也是一个优秀的邮件代理服务软件

缓存服务器:

Nginx还可以作缓存服务器,类似于专业的缓存软件功能

Nginx的优点

作为WEB服务器而言,Nginx处理静态文件的效率比较高,能支持1-2万甚至更多的并发连接(高并发)

作为代理服务器而言,Nginx可以实现无缓存的反向代理加速来提高WEB站点的运行速度,提高用户访问的体验

作为负载均衡服务器而言,支持的应用较多,同时也支持容错功能,自带算法进行负载均衡调度

性能方面而言,采用内核poll模型,支持更多的并发连接,官方显示最大可支持50000个并发连接的请求响应,但占用资源很少且非常稳定

本次的实验环境:CentOS7

环境准备

#设置或停止防火墙:
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service
#关闭selinux:
临时关闭:
[root@localhost ~]# setenforce 0

永久关闭(修改配置文件):
[root@localhost ~]# vim /etc/selinux/config
改成SELINUX=disabled

首先要添加第三方源,自带源rpm软件太少,安装第三方源,减少下载软件的麻烦

yum install epel-release

然后安装nginx

yum -y install nginx

关闭防火墙

systemctl stop firewalld

关闭selinux

vim /etc/selinux/config

将第六行更改为SELINUX=disabled

运行nginx

systemctl start nginx

出现以上界面表示nginx安装成功

查看nginx的版本

nginx -V

如果想在系统启动前启用Nginx,可以输入以下命令让Nginx开机自启

systemctl enable nginx

以下是Nginx的默认路径:

Nginx配置路径:/etc/nginx/
PID目录:/var/run/nginx.pid
错误日志:/var/log/nginx/error.log
访问日志:/var/log/nginx/access.log
默认站点目录:/usr/share/nginx/html

nginx的配置文件比较简单,但功能相当强大,可以自由灵活的进行相关配置

Nginx服务主配置文件介绍

[root@serverA conf]# egrep -v "#|^$" nginx.conf
worker_processes  1;      #工作进程数
events {                           #事件
    worker_connections  1024;     #并发数,单位时间内最大连接数
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {               #虚拟主机标签
        listen 80;   #监听的端口号
        server_name  localhost;     #服务器主机名
        location / {
            root   html;          #默认站点目录
            index  index.html index.htm;       #默认首页文件
        }
        error_page   500 502 503 504  /50x.html;    #错误页面文件
        location = /50x.html {
            root   html;
        }
    }
}

以上介绍了nginx服务的安装与配置文件,接下来介绍下它的另一种实用配置——“虚拟主机”,每个虚拟主机可以是一个独立的网站,可以具有独立的域名,同一台服务器上的不同的虚拟主机之间是独立的,用户访问不同虚拟主机如同访问不同的服务器一样,因此它不需要为一个单独的WEB站点提供单独一个nginx服务器和一个单独的nginx进程

跟apache服务一样,nginx也有三种不同的虚拟主机,基于域名的虚拟主机、基于IP的虚拟主机与基于端口的虚拟主机,至于其中的区别,请参考前面的apache的相关介绍

首先创建站点目录

mkdir -p /data/web_data/

随便写点内容来便于后面的测试

[root@serverA ~]# echo "Welcome to the www site" > /data/web_data/www.html
[root@serverA ~]# echo "Welcome to the blog site" > /data/web_data/blog.html

配置nginx 虚拟主机有两种方式,一种可以像前面apache服务这种,单独配置一个虚拟主机的配置文件,另一种也可以在主配置文件 nginx.conf中添加server标签,接下来介绍的是第一种方式,通过在配置文件里添加包含关系,单独配置虚拟主机的配置文件目录与配置文件,这样服务多了,也容易维护。

因为主配置文件/etc/nginx/nginx.conf中有include /etc/nginx/conf.d/*.conf; 所以为了方便我们在/etc/nginx/conf.d/下新建虚拟主机配置文件

cd /etc/nginx/conf.d/

配置虚拟主机的配置文件

vim vhosts.conf

server {
        listen 80;
        server_name  www.whaoub.com;
        location / {
            root   /data/web_data;
            index  www.html;
    }
}      
server {
        listen 80;
        server_name  blog.whaoub.com;
        location / {
            root   /data/web_data;
            index  blog.html;
    }
}  

对配置文件的语法进行测试

nginx -t

重启服务

systemctl restart nginx

打开浏览器访问相应的域名

若要在本地的浏览器中用域名访问的话,要在物理机的hosts文件中写入IP与域名的对应关系

至此nginx的虚拟主机已配置完成

Nginx中文文档:http://www.nginx.cn/doc/index.html

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

评论