LNMP安装与使用
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
一、Nginx
centos7系统库中默认是没有nginx的rpm包的,所以我们自己需要先更新下rpm依赖库
1.使用yum安装nginx需要包括Nginx的库,安装Nginx的库
rpm-Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2.使用下面命令安装nginx
yum install nginx
3.启动Nginx
systemctl start nginx.service
systemctl restart nginx.service
4.安装好之后可以通过which nginx和whereis nginx来查看nginx安装的位置
5.配置文件是/etc/nginx/conf.d/default.conf
6.页面存放位置 /usr/share/nginx/html
***nginx是不能直接和php通信的,但是fpm可以与nginx中的fast CGI进行数据通信,然后fpm返回给PHP,所以安装php-fpm,并开端口
***linux中nginx挂载php-fpm:https://blog.****.net/hyh1123176978/article/details/54345784
***Nginx 与 FPM 的工作机制:https://blog.****.net/xxj123go/article/details/72828913
7.添加/etc/nginx/conf.d/default.conf配置文件的内容为以下:
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
8.安装php-fpm
9.yum install php70w-fpm
10.php-fpm的配置文件在 /etc/php-fpm.d/www.conf
11.启动php-fpm
systemctl start php-fpm.service
systemctl restart php-fpm.service
Nginx+php+fastcgi的原理与关系
http://www.cnblogs.com/mangguoxiansheng/p/5967745.html
12.通过进程查看服务是否开启
查看进程 ps -ef|grep nginx php-fpm kill -9 pid
http://www.centoscn.com/CentOS/Intermediate/2013/0817/1334.html
Nginx反向代理: nginx ---apche
- nginx提供静态资源服务
nginx---server 5M index.html 1.png 2.png index.css main.js
nginx的一大经典使用场景就是提供静态资源服务,假设/var/www/html是静态资源所在的文件夹,那么可以通过修改配置文件来通过nginx处理这些静态资源。
在 /etc/nginx/conf.d/default.conf中增加代码
Test.php
<img src=’asset/1.png’>
location /asset {
root /var/www/html;
index index.html;
}
访问的就是 /var/www/html中的内容了
location还支持正则表达式,我们可以用正则表达式来匹配html、css、js、png、jpg、gif、ico这些为扩展名的请求:
location ~* \.(html|css|js|png|jpg|gif|ico)$ {
root /var/www;
}
- nginx的另一大经典使用场景就是作为反向代理服务器将对应的请求转发到应用服务器处理然后将应用服务器的响应内容返回给客户端。
通过配置location可以将客户端请求转发到配置的地址,通过nginx把客户端请求接受到 然后发到appache服务器上或者tomcat服务器上
开启apache
location / {
#转发的应用服务器路径
proxy_pass http://localhost:81;
}
- nginx负载均衡,上面演示了如何反向代理,但是如果请求量过大的时候,一台应用服务器显然是不能满足需求的,所以就需要多台服务器来实现负载均衡。
upstream local_servers {
server 192.168.1.186:81 weight=1;
server 127.0.0.1:81 weight=1;
}
location / {
proxy_pass http://local_servers; //转发的应用服务器路径
proxy_set_header Host $host; // $host就是nginx代理服务器
proxy_set_header X-Real-IP $remote_addr; //客户端真是ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off; //代理缓存删除
}
出现的频率大概是1:1。这就是upstream中weight的作用,表示weight表示权重,权重越大,请求转发到这个地址的概率就越大。
注意需要把当前nginx中对php的设置//注释掉才可以
http://blog.****.net/z406245159/article/details/72821285
https://www.cnblogs.com/jsonhc/p/7199295.html?utm_source=itdadao&utm_medium=referral