Nginx搭建Web网站
部署Nginx
[root@server ~]# setenforce 0 [root@server ~]# systemctl stop firewalld [root@server ~]# systemctl disable firewalld [root@server ~]# yum install nginx -y [root@server ~]# nginx -V # 查看版本,编译器、配置参数等信息 [root@server ~]# systemctl start nginx # 启动httpd [root@server ~]# systemctl enable nginx # 设置开机启动 Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service. [root@server ~]# systemctl status nginx # 查看状态,q键退出查看 [root@server ~]# ps -ef | grep nginx # 查看进程 root 1690 1 0 13:57 ? 00:00:00 nginx: master process /usr/sbin/nginx nginx 1691 1690 0 13:57 ? 00:00:00 nginx: worker process nginx 1692 1690 0 13:57 ? 00:00:00 nginx: worker process root 1726 1510 0 14:00 pts/0 00:00:00 grep --color=auto nginx # 测试,Windows中打开浏览器输入服务器IP地址
常用命令
systemctl系列
systemctl start nginx # 启动服务 systemcctl restart nginx # 重启服务 systemctl enable nginx # 开机启动 systemctl stop nginx # 停止服务 systemctl disable nginx # 取消开机启动 systemctl status nginx # 查看状态
nginx自带命令
nginx # 启动nginx nginx restart # 重启服务 nginx -s reload # 重新加载配置文件 nginx -s stop # 强行停止服务 nginx -s quit # 优雅停止服务,即所有请求处理完后退出服务 nginx -v # 查看版本号 nginx -t # 检查配置文件的语法错误,无错返回ok
nginx配置文件
[root@server ~]# cd /etc/nginx # 服务目录 [root@server nginx]# yum install tree -y [root@server nginx]# tree . ├── conf.d # 子配置文件目录 ├── default.d ├── fastcgi.conf ├── fastcgi.conf.default ├── fastcgi_params ├── fastcgi_params.default ├── koi-utf # KOI8-R 编码(俄语)转换的映射文件 ├── koi-win # # KOI8-R 编码(俄语)转换的映射文件 ├── mime.types # 配置支持的媒体类型 ├── mime.types.default # 样例文件 ├── nginx.conf # 主配置文件 ├── nginx.conf.default # 样例文件 ├── scgi_params ├── scgi_params.default ├── uwsgi_params ├── uwsgi_params.default └── win-utf # KOI8-R 编码(俄语)转换的映射文件 2 directories, 15 files 网页默认目录:/usr/share/nginx/html 访问日志:/var/log/nginx/access.log 错误日志:/var/log/nginx/error.log
主配置文件
[root@server ~]# vim /etc/nginx/nginx.conf
-
配置分析
# main配置段(全局配置) user nginx; # 运行的账户,默认即是nginx,可以不进行设置 worker_processes auto; # worker进程数,根据硬件调整,通常等于CPU数量或者2倍于CPU error_log /var/log/nginx/error.log; # 错误日志存放目录 pid /run/nginx.pid; # 指定运行Nginx master主进程的pid文件存放路径 # Load dynamic modules. See /usr/share/doc/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; # 导入的外部文件位置 # events配置段,性能模块设置,其中可以设置时间处理模式等 events { use epoll; # 使用epoll事件驱动模型,但不推荐配置它,让nginx自己选择 worker_connections 1024; # 每个进程的最大连接数量(并发数) accept_mutex on # 默认是off关闭的,这里推荐打开 } # http配置段,包含全局块和server块,使用最频繁的部分,代理、缓存、日志定义等绝大多数功能和第三方模块的配置都在这里设置 http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; # 以上定义日志格式 access_log /var/log/nginx/access.log main; # 访问日志存储位置 sendfile on; # 高效文件传输模式,默认开启 tcp_nopush on; # 性能优化参数,数据是否立刻发送 tcp_nodelay on; # 性能优化参数,小数据包是否延迟发送 keepalive_timeout 65; # 超时时间 types_hash_max_size 4096; # 性能优化参数,影响散列表的冲率 include /etc/nginx/mime.types; # 可解析的静态资源类型 default_type application/octet-stream; # 默认文件类型 # Load modular configuration files from the /etc/nginx/conf.d directory. # See http://nginx.org/en/docs/ngx_core_module.html#include # for more information. include /etc/nginx/conf.d/*.conf; # 加载子配置项 # server配置段,虚拟主机设置 server { listen 80; # 监听IPV4端口 listen [::]:80; # 监听IPV6端口 server_name _; # 访问的域名 root /usr/share/nginx/html; # 网页默认目录 # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; # 子配置文件存储路径 # location配置段,一般用来匹配不同的URI请求 location / { root /usr/share/nginx/html; # 相对路径网站根目录 alias /usr/share/nginx/html/; # 绝对路径网站根目录 index index.html index.htm; # 默认首页文件 deny 172.168.22.11; # 禁止访问的ip地址,可以为all allow 172.168.33.44; # 允许访问的ip地址,可以为all autoindex on; # 开启目录文件列表 autoindex_exact_size on; # 显示出文件的确切大小,单位是bytes autoindex_localtime on; # 显示的文件时间为文件的服务器时间 charset utf-8,gbk; # 避免中文乱码 auth_basic "xxxx"; # 加密网页验证时的提示信息 auth_basic_user_file /路径/文件名; # 加密网页使用的密码验证文件 } error_page 404 /404.html; # 404时返回给客户端的页面 location = /40x.html { } error_page 500 502 503 504 /50x.html; # 50x错误返回给客户端的页面 location = /50x.html { } } # Settings for a TLS enabled server. # https虚拟主机定义 # # server { # listen 443 ssl http2; # 监听的IPV4端口 # listen [::]:443 ssl http2; # server_name _; # root /usr/share/nginx/html; # 网页默认目录 # # ssl_certificate "/etc/pki/nginx/server.crt"; # 证书存储路径 # ssl_certificate_key "/etc/pki/nginx/private/server.key"; # 密钥存储 # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 10m; # ssl_ciphers PROFILE=SYSTEM; # ssl_prefer_server_ciphers on; # # # Load configuration files for the default server block. # include /etc/nginx/default.d/*.conf; # # error_page 404 /404.html; # location = /40x.html { # } # # error_page 500 502 503 504 /50x.html; # location = /50x.html { # } # } }
-
快速搭建网站
[root@server ~]# yum install nginx -y echo "welcome to www.openlab.com" > /usr/share/nginx/html/index.html # 写入网页数据 [root@server ~]# systemctl restart nginx # 打开windows中打开火狐浏览器输入主机IP测试
# 或者推过curl命令查看网站的网页数据,验证网站是否能访问 [root@server ~]# curl 127.0.0.1 welcome to www.openlab.com