SMZ

day02:初识nginx

Nginx:

  开源、高性能、可靠、轻量级的http web server、代理服务器

  开源:支持获取源代码,也就是说二次开发

  高性能:支持海量并发

  轻量级:占用资源少

  可靠:服务稳定

 

Nginx应用场景:

  1.web server:本身就是提供http的一款软件

  2.代理服务:反向代理(外访内)、负载均衡

  3.安全服务:访问控制(基于ip、身份认证)

  4.架构:lnmp、lnmt

 

Nginx安装:

  官方源,nginx官方编译好的、封装成的rpm包、提供rpm包;推荐使用;我使用就是官方的yum源,直接yum安装的

vim /etc/yum.repos.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

  yum -y install nginx-1.14.0           ##坐等安装完毕,此处安装的是nginx 1.14.0的版本,软板包750K左右,看网速

  

 

 

Nginx主配置文件

vim /etc/nginx/nginx.conf     ##主配置文件

user  nginx;     ##nginx程序的运行用户
worker_processes  1;      ##nginx的work进程个数(work进程接收用户请求,处理请求)

error_log  /var/log/nginx/error.log warn;      ##nginx的默认错误日志 warn级别
pid        /var/run/nginx.pid;    ##nginx运行时,pid文件


events {
    worker_connections  1024;     ##一个work进程的最大连接数
}


http {
    include       /etc/nginx/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"';    ##main日志级别德日志格式

    access_log  /var/log/nginx/access.log  main;   ##nginx默认访问日志 main级别

    sendfile        on;   
    #tcp_nopush     on;

    keepalive_timeout  65;   长连接的超时时间

    #gzip  on;  

    include /etc/nginx/conf.d/*.conf;     ##包含/etc/nginx/conf.d/目录下以.conf结尾的配置文件(我称之为nginx配置文件目录)
}

 

nginx配置文件目录,下面有个default.conf文件,一般不用,可以直接删除,自己定义。最好重命名一下,前缀不重要,重要的是不要.conf结尾,不让其生效

  mv /etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.bac

 

nginx配置文件格式

  http{ }:允许定义server层、upstream层、stream层

  server{ }:允许定义location层面,location用于定义网站的访问路径

 

①修改运行程序的用户(很重要,因为nginx、php、nfs、rsync以后都要结合起来,所以一定要统一程序的运行用户)

groupadd -g 666 www
useradd -u 666 -g 666  -s /sbin/nologin -M www

vim /etc/nginx/nginx.conf
    user  www;    ##修改默认的nginx用户为www用户

 

②书写第一个配置文件,定义一个基于域名的虚拟主机(一台web server运行多个web站点,基于域名,使用同一个ip、80端口)

vim /etc/nginx/conf.d/test.conf
server {
    listen 80;    ##监听端口
    server_name test.rm.com;    ##域名(三级域名、主机名);唯一性、server_name重名之后会有bug
     
    root /web/test;    ##网站代码存放目录
    index index.html;    ##索引页 index.html
}

mkdir -p /web/test ##创建网站目录
echo "<html><h1>rhel4-test</h1></html>" > /web/test/index.html ##准备首页
chown www.www -R /web/test ##修改属主、属组为nginx的运行用户www

 

 ③nginx的常用命令

  nginx -t      ##测试nginx所有配置文件的准确性

  nginx:开启nginx

  nginx -s stop:关闭nginx

  nginx -s reload:重载配置文件

  当然也可以使用systemctl的方法开启nginx、关闭nginx、重启nginx

 

④开启nginx服务

nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

nginx

 

⑤本地做好hosts文件,本地浏览器直接访问

 

 

⑥查看访问日志,下一篇讲解日志

 tail /var/log/nginx/access.log
192.168.31.1 - - [13/Dec/2019:10:32:52 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101 Firefox/60.0" "-""test.rm.com

posted on 2019-12-13 10:35  SMZ  阅读(101)  评论(0编辑  收藏  举报

导航