网站首页 > 技术教程 正文
Nginx是一个开源的HTTP服务器和反向代理服务器,也可以用作邮件代理服务。最初由俄罗斯人Igor Sysoev开发。根据Netcraft的信息,到目前为止,世界上最繁忙的网站中有25.53%通过nginx 服务或代理。比如Netflix,Dropbox,Wordpress.com等网站。
Nginx VS Apache HTTP Server
- Apache 使用xml格式的配置文件,nginx使用c语言风格的配置语法
- Apache 有多个.htaccess文件分散于各文件夹,会对性能有影响,Nginx是中心化的配置
- Apache 可以使用添加模块(PHP,Python)的方式处理动态内容,Nginx需要依赖外部程序处理动态内容
- 对静态内容,Nginx比Apache 更高效
- Nginx天然具有缓存和负载均衡能力,Apache需要较复杂的模块配置来达到同样效果
安装
Nginx可适用于很多操作系统,这里以Ubuntu下的安装为例
运行命令:
apt update apt upgrade apt install nginx
检查安装是否成功
nginx -v
nginx 是作为服务安装,可以用以下命令查看其状态
systemctl status nginx //查看nginx的运行状态 systemctl reload nginx //重新加载配置文件使配置文件更改生效 systemctl is-active nginx //查看nginx是否在线 systemctl start nginx //启动nginx服务 systemctl stop nginx //停止nginx服务
启动成功后在浏览器输入http://localhost:80会显示默认欢迎页面
简单配置
所有配置都在 /etc/nginx目录
主配置文件 /etc/nginx/nginx.conf,一般不需要修改该文件。
主配置文件中include了:
- /etc/nginx/conf.d/*.conf
- /etc/nginx/sites-enabled/*
配置一个虚拟主机
这里以mysite为例(名称可任意)
在/etc/nginx/conf.d/目录下创建文件 mysite.local.conf,文件名称最好和站点相关
server { listen 80 default_server; //监听端口配置 server_name mysite.local www.mysite.local; index index.html index.htm index.php; //按顺序查找index文件 root /var/www/mysite.local; //放置站点文件的目录 }
将静态文件拷贝到目录/var/www/mysite.local文件夹
修改了配置文件后运行命令
nginx -t //该命令检查配置文件是否正确 systemctl reload nginx //重新加载配置文件使配置文件更改生效
配置location
location表示针对某些访问路径进行特殊配置
在上面配置文件mysite.local.conf中进行配置
server { listen 80 default_server; server_name mysite.local www.mysite.local; index index.html index.htm index.php; //按顺序查找index文件 root /var/www/mysite.local; //放置站点文件的目录 location / { try_files $uri $uri/ =404 } location /images { autoindex on; //让浏览器能看到服务器上的文件 } error_page 404 /404.html;//自定义404页面 location =/404.html { internal; //表示该location只能被“内部的”请求调用 } }
上面的location配置自定义了404页面,并针对/images路径将autoindex打开,让浏览器能够查看images路径下的图片文件
配置log
主配置文件定义了默认的log位置,我们可以针对vhost自定义log文件位置
修改上面配置的mysite.local.conf文件
server { listen 80 default_server; server_name mysite.local www.mysite.local; ...... access_log /var/log/nginx/mysite.local.access.log; //配置log error_log /var/log/nginx/mysite.local.error.log; //错误信息日志 ...... }
LAMP vs LEMP
很多年web站点使用的技术栈为LAMP(Linux Apache MySQL/MariaDB PHP/Python/Perl)
现在有了LEMP(Linux Nginx MySQL/MariaDB PHP/Python/Perl),其中E按发音代表nginx。Nginx还有很大的发展空间。
猜你喜欢
- 2024-10-09 面试题 HTTP及web服务相关(nginx apache)
- 2024-10-09 Nginx实现认证登录(nginx登录验证)
- 2024-10-09 Nginx 是如何处理 HTTP 头部的?(女飞行员余旭遗体头部图)
- 2024-09-08 nginx 安装教程(详解)(nginx安装与配置详解)
- 2024-09-08 学习Nginx,跟着阿里大牛走,一套精心整理的Nginx(PDF文档)
- 2024-09-08 nginx实现内外网访问限制(nginx 内网)
- 2024-09-08 nginx的多域http、https同时访问配置及http重定向https
- 2024-09-08 nginx httpstatus 408 研究(404 not found nginx是什么意思)
- 2024-09-08 Nginx完全指南--内容解析(三)(nginx 详解)
- 2024-09-08 Nginx http 强转https(http://cas.tjgl.teacheredu.cn)
你 发表评论:
欢迎- 最近发表
-
- Win11学院:如何在Windows 11上使用WSL安装Ubuntu
- linux移植(Linux移植freemodbus)
- 独家解读:Win10预览版9879为何无法识别硬盘
- 基于Linux系统的本地Yum源搭建与配置(ISO方式、RPM方式)
- Docker镜像瘦身(docker 减小镜像大小)
- 在linux上安装ollama(linux安装locale)
- 渗透测试系统Kali推出Docker镜像(kali linux渗透测试技术详解pdf)
- Linux环境中部署Harbor私有镜像仓库
- linux之间传文件命令之Rsync傻瓜式教程
- 解决ollama在linux中安装或升级时,通过国内镜像缩短安装时长
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)