千家信息网

Centos 7部署Nginx网站服务

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,一、Nginx服务基础Nginx专为性能优化而开发,其最知名的优点是它的稳定性和低系统资源消耗,以及对HTTP并发连接的高处理能力(单台物理服务器可支持30000~50000个并发请求)。正因为如此,
千家信息网最后更新 2026年11月01日Centos 7部署Nginx网站服务

一、Nginx服务基础

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

1、Nginx服务的优势

Nginx是一个很牛的高性能Web和反向代理服务器,它具有有很多非常优越的特性:

  • 高并发连接:官方测试能支撑5万并发连接,在实际生产环境中跑到2,~3W并发连;
  • 内存消耗少:在3W并发连接下,开启的10个NGINX进程才消耗150M内存(15M*10=150M);
  • 配置文件非常简单:风格跟程序一样通俗易懂;
  • 成本低廉:Nginx作为开源软件,可以免费使用,而购买F5 BIG-IP、NetScaler等硬件负载均衡交换机则需要十多万至几十万人民币;
  • 支持rewrite重写规则:能够根据域名、URL的不同,将HTTP请求分发到不同的后端服务器群组;
  • 内置的健康检查功能:如果Nginx Proxy后端的后台web服务器宕机了,不会影响前端访问;
  • 节省带宽:支持GZIP压缩,可以添加浏览器本地缓存的Header头;
  • 稳定性高:用于反向代理,宕机的概率微乎其微;

二、安装部署Nginx

1、前提准备

Nginx最新的稳定版本为1.12.0,其安装文件可以从官方网站Nginx官方网站/下载。

1)Centos 7服务器一台;
2)Windows客户端一台:
3)Centos 7操作系统镜像;
4)Nginx镜像;
安装Nginx用到的所有镜像及软件包可以访问网盘提取:https://pan.baidu.com/s/18iRCuiMEyGbEFSeBp17uVQ
提取码:qszt

2、开始安装部署Nginx服务器

1)挂载Linux光盘,拷贝nginx依赖程序到/usr/src/目录

[root@centos02 ~]# mount /dev/cdrom /mnt/    mount: /dev/sr0 写保护,将以只读方式挂载[root@centos02 ~]# cp /mnt/nginx-1.6.0.tar.gz /usr/src/ 

2)切换LAMP光盘,将mnt目录下所有数据拷贝到/usr/src/目录

[root@centos02 ~]# umount /mnt/ <!--卸载光盘-->

[root@centos02 ~]# mount /dev/cdrom /mnt/   mount: /dev/sr0 写保护,将以只读方式挂载[root@centos02 ~]# cp /mnt/* /usr/src/ 

3)切换到操作系统光盘,安装nginx依赖程序

[root@centos02 ~]# umount /mnt/ <!--卸载光盘-->

[root@centos02 ~]# mount /dev/cdrom /mnt/   mount: /dev/sr0 写保护,将以只读方式挂载[root@centos02 ~]# rm -rf /etc/yum.repos.d/CentOS-* [root@centos02 ~]# yum -y install pcre-devel zlib-devel [root@centos02 ~]# useradd -M -s /sbin/nologin nginx [root@centos02 ~]# tar zxvf /usr/src/nginx-1.6.0.tar.gz -C /usr/src/ [root@centos02 ~]# cd /usr/src/nginx-1.6.0/ [root@centos02 nginx-1.6.0]# ./configure --prefix=/usr/local/nginx--user=nginx --group=nginx --with-http_stub_status_module[root@centos02 nginx-1.6.0]# make && make install  [root@centos02 ~]# ln -s /usr/local/nginx/sbin/* /usr/local/sbin/ 

3、Nginx服务的基本管理

[root@centos02 ~]# nginx    [root@centos02 ~]# netstat -anptu | grep nginx                      tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4663/nginx: master  [root@centos02 ~]# killall -s QUIT nginx   [root@centos02 ~]# killall -3 nginx       [root@centos02 ~]# killall -1 nginx     [root@centos02 ~]# killall -s HUP nginx   [root@centos02 ~]# vim /etc/init.d/nginx #!/bin/bash#chkconfig: 35 90 30#description:nginx serverPROG="/usr/local/nginx/sbin/nginx"PIDF="/usr/local/nginx/logs/nginx.pid"case "$1" instart)$PROG;;stop)kill -s QUIT $(cat $PIDF);;restart)$0 stop$0 start;;reload)kill 0s HUP $(cat $PIDF);;*)echo "Usage:$0 (start|stop|restart|reload)"exit 1esacexit 0[root@centos02 ~]# chmod +x /etc/init.d/nginx [root@centos02 ~]# chkconfig --add nginx [root@centos02 ~]# chkconfig --level 35 nginx on [root@centos02 ~]# /etc/init.d/nginx stop[root@centos02 ~]# /etc/init.d/nginx start[root@centos02 ~]# /etc/init.d/nginx restart

客户端配置和Nginx服务器同一块网卡同网段,设置网关即可访问Nginx网站服务器

4、Nginx常见的配置文件

[root@centos02 ~]# ls -ld /usr/local/nginx/conf/nginx.conf-rw-r--r-- 1 root root 2656 11月 28 17:22/usr/local/nginx/conf/nginx.conf       [root@centos02 ~]# ls -ld /usr/local/nginx/sbin/drwxr-xr-x 2 root root 19 11月 28 17:22/usr/local/nginx/sbin/      [root@centos02 ~]# ls -ld /usr/local/nginx/html/drwxr-xr-x 2 root root 40 11月 28 17:22/usr/local/nginx/html/      [root@centos02 ~]# ls -ld /usr/local/nginx/logs/drwxr-xr-x 2 root root 58 11月 28 17:47 /usr/local/nginx/logs/   

5、修改Nginx主配置文件

[root@centos02 ~]# cp /usr/local/nginx/conf/nginx.conf/usr/local/nginx/conf/nginx.conf.bak   [root@centos02 ~]# vim /usr/local/nginx/conf/nginx.conf                               3 user  nginx;         4 worker_processes  1;       6 error_log  logs/error.log;   12 pid        logs/nginx.pid;     16     use epoll;        17     worker_connections  1024; 29     #access_log  logs/access.log  main; 31     sendfile        on;           35     keepalive_timeout  65;       39     server { 40         listen       80;     41         server_name  localhost; 44         charset utf-8;    48         location / {     49             root   html; 50             index  index.html index.html;51         }84     }            
  • listen:限定端口的同时允许限定IP地址,采用"IP地址:端口号"形式,root语句用来设置特定访问位置的网页文档路径,默认为Nginx安装目录下的html/目录,根据需要可改为/var/www/html等其他路径,但更改后需保证nginx用户对其具有读取权限。

  • worker_processes :表示工作进程的数量,若服务器由多块CPU或者使用多核处理器,可以参考CPU核心总数来指定工作进程数。具体含义在worker_connections配置项中体现出来。

  • worker_connections:这个配置项指定的是每个进程处理的连接,一般在10000以下(默认为1024),与上面工作进程数量的配置项关联,例如:若工作进程数为8,每个进程处理4096个连接,则允许Nginx正常提供服务的连接数已经超过了3万个(4096*8=32768)。当然,具体还要看服务器硬件、网络带宽等物理条件的性能表现。

6、配置Nginx的访问状态统计

[root@centos02 ~]# vim /usr/local/nginx/conf/nginx.conf   52         location /status { 53                 stub_status     on; 54                 access_log off; 55         }[root@centos02 ~]# /etc/init.d/nginx restart 

客户端访问状态统计页:

  • Active connections:表示当前的活动连接数;

  • server accepts handled requests:表示已经处理的连接信息,三个数字依次表示已处理的连接数、成功的TCP握手次数、已经处理的请求数。

三、配置虚拟主机

1、安装DNS服务器

[root@centos02 ~]# yum -y install bind bind-chroot bind-utils                               [root@centos02 ~]# echo "" > /etc/named.conf            [root@centos02 ~]# vim /etc/named.conf options {        listen-on port 53 { 192.168.100.20; };        directory "/var/named";}zone    "benet.com"     IN      {        type    master;        file    "benet.com.zone";}zone    "accp.com"      IN      {        type    master;        file    "accp.com.zone";}[root@centos02 ~]# named-checkconf -z /etc/named.conf              [root@centos02 ~]# vim /var/named/benet.com.zone                 $TTL    86400@       SOA     benet.com.      root.benet.com(        2019112801        1H        15M        1W        1D)@       NS      centos02.benet.com.centos02 A      192.168.100.20www      A      192.168.100.20[root@centos02 ~]# chmod +x /var/named/benet.com.zone                      [root@centos02 ~]# chown named:named/var/named/benet.com.zone [root@centos02 ~]# named-checkzone benet.com/var/named/benet.com.zone            zone benet.com/IN: loaded serial 2019112801OK[root@centos02 ~]# cp /var/named/benet.com.zone/var/named/accp.com.zone     [root@centos02 ~]# vim /var/named/accp.com.zone                      $TTL    86400@       SOA     accp.com.       root.accp.com(        2019112801        1H        15M        1W        1D)@       NS      centos02.accp.com.centos02 A      192.168.100.20www      A      192.168.100.20[root@centos02 ~]# named-checkzone accp.com/var/named/accp.com.zone             [root@centos02 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens32  DNS1=192.168.100.20   [root@centos02 ~]# systemctl restart network[root@centos02 ~]# systemctl start named [root@centos02 ~]# systemctl enable named[root@centos02 ~]# nslookup www.benet.com                   Server:     192.168.100.20Address:    192.168.100.20#53Name:   www.benet.comAddress: 192.168.100.20[root@centos02 ~]# nslookup www.accp.com                  Server:     192.168.100.20Address:    192.168.100.20#53Name:   www.accp.comAddress: 192.168.100.20

2、配置基于域名的虚拟主机

Nginx的配置文件使用"http { }"界定标记用于设定HTTP服务器,包括访问日志、http端口、网页目录、默认字符集、连接保持,以及虚拟web主机、php解析等网站全局设置,其中大部分包含在子界定标记 " server { }"内。" server { }"代表一个具体的网站设置。

             [root@centos02 ~]# mkdir -p /var/www/benetcom  [root@centos02 ~]# mkdir -p /var/www/accpcom                 [root@centos02 ~]# echo "www.benet.com" > /var/www/benetcom/index.html[root@centos02 ~]# echo "www.accp.com" > /var/www/accpcom/index.html[root@centos02 ~]# 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;        server  {                           listen www.benet.com:80;                  server_name www.benet.com;                     charset utf-8;                          access_log      logs/www.benet.com.access.log;                                                                     error_log       logs/www.benet.com.error.log;                                                                       location / {                                       root /var/www/benetcom/;                                 index index.html;                               }                }               server  {                listen www.accp.com:80;                server_name www.accp.com;                charset utf-8;                access_log      logs/www.accp.com.access.log;                error_log       logs/www.accp.com.error.log;                location / {                                root /var/www/accpcom/;                                index index.html;                        }                }[root@centos02 ~]# nginx -t   nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful[root@centos02 ~]# systemctl restart named[root@centos02 ~]# /etc/init.d/nginx restart

客户端添加DNS地址,访问域名测试是否成功

------ 本文至此结束,感谢阅读 ------

服务 服务器 配置 进程 处理 目录 网站 光盘 文件 主机 客户 客户端 工作 地址 域名 官方 方式 程序 系统 虚拟主机 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司怎么样 广州紫鲸互联网科技有限公司 北京路客互联网科技有限公司 工业互联网科技新基建 中资互联网科技 奇酷互联网科技公司 上海致骋互联网科技 互联网科技logo 融贸通互联网科技 互联网实体化科技化 互联网科技热点资讯 互联网科技与管理 崇明区互联网教育科技诚信经营 互联网科技如何创业 怎样加入科技互联网 有人说阿里系是互联网科技企业 广州梦谷互联网科技有限公司领导 唐山双旺合互联网科技产业园 好易买互联网科技 恒生科技互联网指数十大成分股 互联网科技资迅 科技类互联网 互联网的科技创新 甘肃拓世互联网科技有限公司 互联网之后的科技是什么 中国互联网有什么科技含量 北京华百购互联网科技有限公司 新兴科技互联网创新大赛颁奖典礼 互联网科技大奖都有哪些公司 科技和互联网行业的特点
0