Nginx
是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。其特点是占有内存少,并发能力强,部署简单。本文简单的介绍下他的使用吧!
安装与启动
apt-get install nginx
# 启动
service nginx start
认识配置文件
nginx的配置文件默认位置在/etc/nginx/
目录下。
nginx.conf是我们nginx最核心的配置文件。我们可以将配置信息写到nginx.conf
文件中,也可以将配置文件写入site-available
(虚拟主机)的配置文件中。
配置静态html
利用nginx
我们可以直接配置静态http服务器。需要注意的是,仅能展示html
图片等文件。而php文件是不能运行的。格式如下
server {
listen 81; #自定义监听端口
listen [::]:81;
server_name 127.0.0.1;# 你的域名或IP地址
root /var/www/html; # 站点根目录
index index.php index.html;
location / {
try_files $uri $uri/ =404; #返回错误页面
}
}
配置php
以上的配置,我们只能访问静态的html页面。php
文件是不能运行的,因此我们需要配置下php。格式如下
location ~ .php$ {
include snippets/fastcgi-php.conf;
# With php-fpm (or other unix sockets):
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
# With php-cgi (or other tcp sockets):
#fastcgi_pass 127.0.0.1:9000;
}
Nginx
本身不支持PHP等语言,但是它可以通过FastCGI
来将请求扔给某些语言例如PHP。使用Nginx不用fastCGI
的话就好像抽烟不点火。fastCGI的连接方式有两种,一种是基于sockets
一种是TCP
至于两种有什么区别,(两者选一即可!)建议大家查阅其他的资料。
注意事项:
如果nginx
访问php提示502
错误,检查php-fpm
启动是否为正常。
# 查看php-fpm和nginx是否启动
ps -ef|grep php-fpm
ps -ef|grep nginx
apt-get install php8.2-fpm #安装
service php8.2-fpm start #启动
配置完成后,我们便可以访问php文件了。
虚拟主机
在很多情况下,我们在一台服务器上会部署很多个站点。因此我们需要搭建虚拟主机。首先在sites-available
目录。配置default
文件,复制完成后,重新配置里面的参数,如端口,站点目录等等参数。然后在sites-enabled
目录建立软连接。
ln -s /etc/nginx/sites-available/default2 default2
反向代理
客户端本来可以直接通过HTTP协议访问某网站应用服务器,如果网站管理员在中间加上一个Nginx,客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端,此时Nginx就是反向代理服务器。
配置文件
server {
listen 80;
location / {
proxy_pass http://192.168.5.1:8080; # 应用服务器HTTP地址
}
}
即,当目标访问80端口后,自动跳转到8080
端口 既然服务器可以直接HTTP访问,为什么要在中间加上一个反向代理,不是多此一举吗?反向代理有什么作用?
负载均衡
当网站访问量非常大,网站会变的非常慢。一台服务器已经不够用了。于是将相同的应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。
配置如下
upstream kali {
server 192.168.5.1:8080; # 应用服务器1
server 192.168.5.2:8080; # 应用服务器2
}
server {
listen 80;
location / {
proxy_pass http://kali;
}
}
总结
以上便是我们在运维中,常见的nginx
的配置了。当然除了上诉的玩法外,还有很多的玩法,在后面的文章中,我们会慢慢的涉及到。
更多精彩文章 欢迎关注我们
原文始发于微信公众号(kali黑客笔记):Nginx从入门到放弃
- 我的微信
- 微信扫一扫
-
- 我的微信公众号
- 微信扫一扫
-
评论