Nginx web服务和虚拟web站点
Nginx
Nginx ("engine x") 是一个轻量级、高性能的WEB服务器软件。
- 安装nginx依赖包
[root@web01 ~]# yum install -y gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel
上传软件包并解压
- winscp 传压缩包到linux;或者下载nginx安装包。
- 解包
- 预编译
- 编译安装
- 启动nginx
- 监听端口号或者查看进程,确认nginx服务启动。
[root@client01 ~]# vim /etc/rc.d/rc.local #在文件尾部添加如下内容
/usr/local/nginx/sbin/nginx
[root@client01 ~]# chmod +x /etc/rc.d/rc.local
网站测试
- 关闭防火墙
- 在Windows IE下输入linux主机IP测试
配置文件nginx.conf
1、全局配置
user nobody;
//运行用户,Nginx的运行用户实际是编译时指定的nginx,若编译时未指定则默认为nobody
worker_processes 2;
//指定nginx启动的工作进程数量,建议按照cpu核数来指定,一般为cpu核数或cpu核数的倍数。
worker_rlimit_nofile 102400;
//这个指令是指当一个nginx工作进程打开的最多文件数目,最好与ulimit -n的值保持一致.通过”ulimit –n 数值”可以修改打开的最多文件数目.
error_log logs/error.log; //全局错误日志文件的位置
pid logs/nginx.pid; //PID文件的位置
2、I/O事件配置
use epoll; // nginx底层采用epoll事件处理机制
worker_connections 4096; //每个工作进程允许的最多连接数(默认为1024),具体还要看服务器的硬件、带宽等.
error_log logs/error.log; //全局错误日志文件的位置
pid logs/nginx.pid; //PID文件的位置
3、HTTP配置
http {
#设定媒体类型,include 只是一个在当前文件中包含另一个文件内容的指令。
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"';
#设定access log
access_log logs/access.log main;
keepalive_timeout 65; //连接保持超时
#设定虚拟主机
server { //用来配置虚拟主机
listen 80; //WEB服务的监听设置,可以采用”IP地址:端口”形式
server_name www.lnmp.com; //网站名称,可以写多个名称,用空格分隔
location / { // location的功能是用来匹配不同的 URI 请求,进而对请求做不同的处理和响应,在本文后面会详细讲解。
index index.html; //默认首页
root html; //网页根目录位置,默认为Nginx安装目录下的html/子目录,root语句用来设置特定访问位置的网页文档路径,根据需要可改为/var/www/html等其他路径。
}
charset utf-8; //网页的默认字符集
#设定本虚拟主机的访问日志
access_log logs/www.lnmp.com.access.log main;
error_page 500 502 503 504 /50x.html; //内部错误的反馈页面
location = /50x.html {
root html;
}
}
}
访问日志
403错误
404错误
- / 匹配任意
- = 精确匹配 =的优先级高于 、
- Localtion 用来匹配客户的URI(资源)请求。