Nginx网站服务

本文详细介绍了Nginx的安装步骤、配置文件优化、运行控制、基于域名和端口的虚拟Web主机设置,以及基于IP的虚拟主机实现。
摘要由CSDN通过智能技术生成

一、Nginx服务基础

        Nginx(发音为 [engine x] )专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对 HTTP 并发连接的高处理能力(单台物理服务器可支持 30000 ~ 50000 个并发请求)。正因为如此,大量提供社交网络、新闻资讯、电子商务及虚拟主机等服务的企业纷纷选择 Nginx 来提供 Web 服务。
        本节将介绍 Nginx 的安装配置方法。

二、Nginx 1.12安装及运行控制

  • Nginx 安装文件可以从官方网站 http://www.nginx.org/ 下载。下面以稳定版 Nginx1.12.0 为例,介绍 Nginx 的安装和运行控制。

1.安装Nginx服务

(1)编译安装Nginx。

[root@localhost ~]# yum -y install pcre-devel zlib-devel             安装依赖
[root@localhost ~]# useradd -M -s /sbin/nologin nginx                创建一个名为nginx的用户
[root@localhost ~]# tar zxf nginx-1.12.0.tar.gz
[root@localhost ~]# cd nginx-1.12.0/
[root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module
[root@localhost nginx-1.12.0]# make
[root@localhost nginx-1.12.0]# make install

(2)为主程序nginx创建链接文件。

[root@localhost nginx-1.12.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@localhost nginx-1.12.0]# ls -l /usr/local/sbin/nginx 
lrwxrwxrwx 1 root root 27 1月   9 13:54 /usr/local/sbin/nginx -> /usr/local/nginx/sbin/nginx

(3)Nginx的运行控制。

[root@localhost ~]# nginx -t                             检查配置文件
[root@localhost ~]# nginx                                启动nginx
[root@localhost ~]# netstat -anpt | grep nginx           查看nginx的端口号
[root@localhost ~]# yum -y install elinks                安装elinks工具
[root@localhost ~]# elinks http://localhost              用elinks工具访问nginx网页

(4)安装psmisc工具。

[root@localhost ~]# yum -y install psmisc                    安装psmisc软件
[root@localhost ~]# killall -s HUP nginx                     重载配置
[root@localhost ~]# killall -s QUIT nginx                    退出进程

(5)使用Nginx服务脚本。

[root@localhost ~]# vim /etc/init.d/nginx

#!/bin/bash
#chkconfig: - 99 20
#description: Nginx Service Control Soript
PROG="/usr/local/nginx/sbin/nginx"
PIDF="/usr/local/nginx/logs/nginx.pid"
case "$1" in
        start)
          $PROG
        ;;
        stop)
          kill -s QUIT $(cat $PIDF)
        ;;
        restart)
          $0 stop
          $0 start
        ;;
        reload)
          kill -s HUP $(cat $PIDF)
        ;;
        *)
          echo "Usage: $0 {start|stop|restart|reload}"
        exit 1
esac
exit 0

(6)把nginx文件添加执行权限。

[root@localhost ~]# chmod +x /etc/init.d/nginx                 添加权限
[root@localhost ~]# chkconfig --add nginx                      添加为系统服务
[root@localhost ~]# systemctl status nginx                     查看Nginx系统状态

2.修改nginx.conf配置文件

(1)配置文件nginx.conf,全局配置。

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

#user  nobody;                             运行用户
worker_processes  1;                       工作进程数量
#error_log  logs/error.log;                错误日志文件的位置
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;                PID文件的位置

(2)I/O事件配置。

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

events {
    use epoll;                                使用epoll模型
    worker_connections  4096;                 每进程处理4096个连接
}

(3)HTTP配置。

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;                访问日志位置
    sendfile        on;                               开启高效传输文件模式
    keepalive_timeout  65;                            连接保持超时
    server {                                              Web服务的监听配置
        listen       80;                                 监听端口号
        server_name  www.bdqn.com;                       网站名称
        charset utf-8;                                   网页的默认字符集
        location / {                                     根目录配置
            root   html;                                 网站根目录的位置,相对于安装目录
            index  index.html index.htm;                 默认首页
        }
        error_page   500 502 503 504  /50x.html;         内部错误的反馈页面
        location = /50x.html {                           错误页面配置
            root   html;
        }
    }
}

(4)Nginx的访问状态统计,用来反馈当前的Web访问情况。

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

index  index.html index.htm;            在这条配置命令的下面添加,以下的配置命令
        }
        location /status {
            stub_status  on;
            access_log   off;
        }

[root@localhost ~]# systemctl restart nginx            重启服务
  • 新的配置生效以后,在浏览器访问Nginx服务器的/status网站位置,格式:服务器IP/status。

三、基于域名的虚拟Web主机

(1)配置DNS服务,使两个域名解析为同一IP地址(过程略)。

(2)准备网站目录及测试文件。

[root@localhost ~]# mkdir -p /var/www/bdqn
[root@localhost ~]# echo "<h1>www.bdqn.com</h1>" > /var/www/bdqn/index.html
[root@localhost ~]# mkdir -p /var/www/accp
[root@localhost ~]# echo "<h1>www.accp.com</h1>" > /var/www/accp/index.html

(3)调整nginx.conf配置文件。

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

http {
……                                        //省略部分信息
server {
        listen     80;
        server_name www.bdqn.com;
        charset utf-8;
        access_log logs/bdqn.access.log main;
        location / {
            root /var/www/bdqn;
            index index.html index.php;
   }
}
   server {
        listen     80;
        server_name www.accp.com;
        charset utf-8;
        access_log logs/accp.access.log main;
        location / {
            root /var/www/accp;
            index index.html index.php;
   }
}

(4)重启服务。

[root@localhost ~]# systemctl restart nginx

四、基于端口的虚拟主机

(1)修改nginx.conf配置文件。

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

http {
……                                        //省略部分信息
server {
        listen     192.168.112.50:90;
        server_name www.bdqn.com;
        charset utf-8;
        access_log logs/bdqn.access.log main;
        location / {
            root /var/www/bdqn;
            index index.html index.php;
   }
}
   server {
        listen     192.168.112.50:100;
        server_name www.accp.com;
        charset utf-8;
        access_log logs/accp.access.log main;
        location / {
            root /var/www/accp;
            index index.html index.php;
   }
}

(2)检测端口是否运行正常

[root@localhost ~]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost ~]# systemctl restart nginx                重启服务
[root@localhost ~]# ip addr show dev ens33 | grep inet
    inet 192.168.112.50/24 brd 192.168.112.255 scope global noprefixroute ens33
    inet 192.168.112.60/24 brd 192.168.112.255 scope global ens33:0

五、基于IP的虚拟主机

(1)再配置一个虚拟IP为192.168.112.60。

[root@localhost ~]# ifconfig ens33:0 192.168.112.60
[root@localhost ~]# ip addr show dev ens33 | grep inet
    inet 192.168.112.50/24 brd 192.168.112.255 scope global noprefixroute ens33
    inet 192.168.112.60/24 brd 192.168.112.255 scope global ens33:0

(2)修改nginx.conf配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

http {
……                                        //省略部分信息
server {
        listen     192.168.112.50:80;
        server_name www.bdqn.com;
        charset utf-8;
        access_log logs/bdqn.access.log main;
        location / {
            root /var/www/bdqn;
            index index.html index.php;
   }
}
   server {
        listen     192.168.112.60:80;
        server_name www.accp.com;
        charset utf-8;
        access_log logs/accp.access.log main;
        location / {
            root /var/www/accp;
            index index.html index.php;
   }
}

(3)重启服务

[root@localhost ~]# systemctl restart nginx                重启服务
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值