简介
- Nginx (engine x) 是一个高性能的HTTP和反向代理WEB服务器。同时也提供了IMAP/POP3/SMTP服务。具有响应快、高扩展(丰富的第三方模块支持)、高可靠、低内存消耗、高并发、热部署等优势。
安装
- 安装Nginx之前需要先安装以下三个依赖包:
- Nginx
- 解压后进入目录依次执行以下命令
./configure
make
make install
- 解压后进入目录依次执行以下命令
目录介绍
- Nginx会默认安装到/usr/local/nginx目录下
- conf :主要存放nginx的配置文件(nginx.conf)
- sbin :存放nginx程序
- html :存放网页资源
- logs :日志目录
Nginx操作指令
- 启动
sudo ./nginx
- 停止
马上终止web服务器 : sudo ./nginx -s stop
等待当前操作处理完成之后再停止 : sudo ./nginx -s quit - 重新加载
sudo ./nginx -s reload
Nginx配置文件介绍
- 路径:/usr/local/nginx/conf/nginx.conf
- 配置文件结构
-
-main |--http | |--server | |--location |--mail
- main:代表整个配置文件
- http:处理web请求
- server:代表一个web服务器
- location:web服务器要处理的一个指令
- mail:处理邮件相关协议
-
- 配置文件介绍(截取了一部分)
-
#user nobody; # 工作进程 worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { # 可以连接到worker的数量 worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; #keepalive_timeout 0; # 保持连接超时 keepalive_timeout 65; #gzip on; server { listen 80; # 监听端口 server_name localhost; # 域名,对应本地ip # / 代表资源根目录 location / { # html目录,在/usr/local/nginx下。 # 你在浏览器输入http://ip:port # Nginx会去/usr/local/nginx下找html目录,并加载html目录对应的index.html文件 root html; index index.html index.htm; } } # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} }
Nginx实现http服务
- 我们直接使用Nginx默认配置,启动Nginx服务。然后在浏览器中输入本地ip和端口,就可以访问到Nginx,Nginx就实现了一个简单的http服务。
- 看到这个页面,就说明访问成功了。
- 如果要访问自己实现的html页面,直接替换/usr/local/nginx/html下面的index.html文件,并把你的依赖文件和资源文件一起拷贝到该目录下,就可以通过Nginx实现自己的http服务。
Nginx处理多个指令
- Nginx可以处理多个不同的指令
- 在原有配置文件基础上,再新增一个location,在/usr/local/nginx目录下创建一个新目录 html.csdn,拷贝一份index.html文件,做简单修改。放到该目录下。
-
location /csdn { # html.csdn目录,在/usr/local/nginx下 # 在浏览器输入http://ip:port/csdn # Nginx 会去/usr/local/nginx目录下查找html.csdn目录,并加载index.html文件 alias html.csdn; index index.html index.htm; # html目录下的文件 }
- 我们先直接访问 http://127.0.0.1:80
- 再访问 http://127.0.0.1:80/csdn, 加载的就是另一个界面了。