一、概念
Nginx (engine x) 是一个高性能的 HTTP 和 反向代理 服务,也是一个IMAP/POP3/SMTP服务。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。在高连接并发的情况下,Nginx是Apache服务器不错的替代品。
二、nginx安装
1、配置nginxyum源
#安装组件
yum install yum-utils
#配置yum源
vim /etc/yum.repo.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
#生成yum缓存
yum clean all && yum makecache
2、安装nginx
yum -y install nginx
3、启动nginx
#启动nginx
systemctl start nginx
#设置开机自启
systemctl enable nginx
#查看端口,默认80
netstat -lntp | grep nginx
4、使用浏览器访问测试页面:http://192.168.10.133:80(替换成自己的IP,80端口可以省略)
三、nginx虚拟主机搭建
nginx的主配置文件在/etc/nginx/nginx.conf下,我这边做的时候在子配置文件中做,位置在:/etc/nginx/conf.d/下,文件名自己定义,不过一定要.conf结尾
1、基于端口搭建
vim /etc/nginx/conf.d/port.conf
server {
listen 80;
server_name 192.168.10.133;
location / {
root /usr/share/nginx/html/80; #发布路径
index index.html index.htm;
}
}
server {
listen 81;
server_name 192.168.10.133;
location / {
root /usr/share/nginx/html/81; #发布路径
index index.html index.htm;
}
}
#检查配置
nginx -t
#重载nginx配置文件
nginx -s reload
#创建80和81的目录,删除原有发布目录下的所有文件
rm -f /usr/share/nginx/html/*
mkdir /usr/share/nginx/html/{80,81}
#向两个目录下写测试文件
echo "测试80端口页面" > /usr/share/nginx/html/80/index.html
echo "测试81端口页面" > /usr/share/nginx/html/81/index.html
#访问页面测试
http://192.168.10.133:81
2、基于域名搭建
# 编写配置文件
vim /etc/nginx/conf.d/yuming.conf
server {
listen 80;
server_name web1.com; #域名
location / {
root /usr/share/nginx/html/web1; #发布路径
index index.html index.htm;
}
}
server {
listen 80;
server_name web2.com; #域名
location / {
root /usr/share/nginx/html/web2; #发布路径
index index.html index.htm;
}
}
#重载nginx配置
nginx -s reload
#在电脑中设置域名解析
windows在C:\Windows\System32\drivers\etc\hosts
Mac在/etc/hosts
#创建发布目录
mkdir /usr/share/nginx/html/{web1,web2}
#写测试文件
echo "web1 web1" > /usr/share/nginx/html/web1/index.html
echo "web2 web2" > /usr/share/nginx/html/web2/index.html
#测试
http://web.com
http://web2.com
3、基于IP搭建
#在虚拟机增加一张网卡,我临时加一条
#增加虚拟IP
ip a a 192.168.10.137 dev ens33
#更改nginx配置文件
vim /etc/nginx/conf.d/ip.conf
server {
listen 80;
server_name 192.168.10.133; #域名
location / {
root /usr/share/nginx/html/web1; #发布路径
index index.html index.htm;
}
}
server {
listen 80;
server_name 192.168.10.137; #域名
location / {
root /usr/share/nginx/html/web2; #发布路径
index index.html index.htm;
}
}
#重载nginx配置
nginx -s reload
#编写发布文件
echo "192.168.10.133" > /usr/share/nginx/html/web1/index.html
echo "192.168.10.137" > /usr/share/nginx/html/web2/index.html
#测试
http://192.168.10.133:80
http://192.168.10.137:80