Nginx web服务和虚拟web站点

时间:2021-12-09 01:23:02

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(资源)请求。