您的位置:首页 > 运维架构 > Nginx

Centos 7搭建Nginx网站服务器及配置虚拟主机

2019-08-21 11:03 1081 查看

Nginx专为性能优化而开发,其最大的优点就是它的稳定性和低系统资源消耗,以及对http并发连接的高处理能力,单台物理服务器可支持20000~50000个并发请求,正是如此,大量提供社交网络、新闻资讯、电子商务及虚拟主机等服务的企业纷纷选择Nginx来提供web服务,目前中国大陆使用nginx网站用户有:新浪、网易、腾讯,另外知名的微网志Plurk也使用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理论知识在这就不多说了,下面开始干正事,搭建Nginx网站服务器:
1、centos 7服务器一台;
2、centos 7系统盘一个;
3、需要用到的软件包,这里已经准备好了一个,提取链接:
提取连接

一、开始搭建Nginx网站:
1、挂载系统光盘,初始化yum源

[root@Centos02 ~]# mount /dev/cdrom /mnt/     #挂载系统光盘

[root@centos02 ~]# mkdir /etc/yum.repos.d/bak  #创建系统yum备份目录

[root@centos02 ~]# mv /etc/yum.repos.d/CentOS-* /etc/yum.repos.d/bak/
#将系统自带的yum配置文件以Centos-开头的所有文件复制到bak目录中

[root@centos02 ~]# vim /etc/yum.repos.d/local.repo            #创建yum配置文件
[local]
name=centos
baseurl=file:///mnt
enabeld=1
gpgcheck=0

2、安装nginx

[root@centos02 ~]# yum -y install pcre pcre-devel zlib-devel        #安装依赖程序

[root@centos02 ~]# umount /mnt/           #卸载系统光盘,切换软件包光盘
[root@centos02 ~]# mount /dev/cdrom /mnt/       #挂载软件包光盘

[root@centos02 ~]# tar zxvf /mnt/nginx-1.6.0.tar.gz -C /usr/src/
#将mnt目录中程序解压缩到/src

[root@centos02 ~]# useradd -M -s /sbin/nologin nginx         # 创建管理的nginx的用户

[root@centos02 ~]# cd /usr/src/nginx-1.6.0/            #编译安装nginx
[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        #编译安装nginx

[root@centos02 nginx-1.6.0]# ln -s /usr/local/nginx/sbin/nginx* /usr/local/sbin/
#优化执行命令

[root@centos02 ~]# echo "www.benet.com" > /usr/local/nginx/html/index.html
#修改新页面覆盖旧页面

[root@centos02 ~]# vim /usr/local/nginx/conf/nginx.conf      #设置Nginx最大并发
12 events {
13     worker_connections  4096;
14 }

二、配置nginx虚拟主机

[root@Centos02 ~]# vim /usr/local/nginx/conf/nginx.conf
#nginx配置虚拟主机www.benet.com
35     server {                            #Server表示虚拟主机
36         listen       80;               #虚拟主机监听端口
37         server_name  www.benet.com;             #虚拟主机域名
38         charset utf-8;                      #支持字符编码
39         access_log  logs/www.benet.com.access.log;
#成功日志位置/usr/local/nginx/logs/
40         error_log  logs/www.benet.com.error.log;     #错误日志/usr/local/nginx/logs/
41         location / {
42             root   /var/www/benetcom/;          #网站根目录(默认/usr/local/nginx/html/)
43             index  index.html index.htm;          #网站主页index.html或者index.htm
44         }
45                 }

[root@Centos02 ~]# mkdir -p /var/www/benetcom
#创建www.benet.com虚拟主机网站根目录

[root@Centos02 ~]# echo "www.benet.com" > /var/www/benetcom/index.html
#创建www.benet.com虚拟主机主页

[root@Centos02 ~]# vim /usr/local/nginx/conf/nginx.conf
#配置www.accp.com虚拟主机
47     server {                     #Server表示虚拟主机
48         listen       80;            #虚拟主机监听端口
49         server_name  www.accp.com;         #虚拟主机域名
50         charset utf-8;           #支持字符编码
51         access_log  logs/www.accp.com.access.log;
#成功日志位置/usr/local/nginx/logs/
52         error_log  logs/www.accp.com.error.log;    #错误日志/usr/local/nginx/logs/
53         location / {
54             root   /var/www/accpcom/;           #网站根目录(默认/usr/local/nginx/html/)
55             index  index.html index.htm;           #网站主页index.html或者index.htm
56         }
57                 }

[root@Centos02 ~]# mkdir -p /var/www/accpcom
#创建www.accp.com虚拟主机网站根目录

[root@Centos02 ~]# echo "www.accp.com" > /var/www/accpcom/index.html
#设置www.accp.com虚拟主机网站主页

三、启动Nginx

[root@centos02 ~]# nginx        #启动nginx
[root@centos02 ~]# killall -s QUIT nginx      #停止nginx
[root@centos02 ~]# killall -s HUP nginx       #重新启动nginx

四、客户端验证Nginx,确保客户端和centos 7服务器网络是互通的,否则白扯,(在这里没有搭建DNS需要手动添加host文件,后续更新LNMP及LAMP再详细配置)
1、添加host文件

2、客户端访问

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: