网站首页 > 精选教程 正文
LNMP分离部署
最近公司的一个项目需要迁移升级,老大让我来负责,我利用碎片时间来记录一下,迁移的原因,由于以前此项目用户量不大,且都是公司内使用,一直都是单体模式来运行,现在 需要对公司外提供服务,对方要求必须要稳定,没(t)办(m)法(d),只能上云了,一(买)顿(买)操(买)作后, SLB,VPC,ECS,EIP,SNAT等一些服务就可以用了,这里并没有记录全部的记录,只记录了 配置nginx 与php的分离模式的搭建,这里为啥没有用常规的nginx和php放在一起呢,主要是原因,考虑到后期要使用lua,redis,网关等,不想与php来进行资源竞争,才选的这种方式
模拟环境
在本地测试,原理差不多,这里只开2台服务器
- ubuntu环境
- 2台服务器
- 一台IP 10.10.100.136的 服务器安装openresty
- 一台IP 为10.10.100.200的 服务器安装php7.4
在10.10.100.136服务器上安装openresty
openresty 是一款基于 NGINX 和 LuaJIT 的 Web 平台,有好多实用的组件,做网关,缓存啥的,都是不错的选择,推荐可以看看
安装步骤
步骤一:安装导入 GPG 公钥时所需的几个依赖包(整个安装过程完成后可以随时删除它们):
sudo apt-get -y install --no-install-recommends wget gnupg ca-certificates
步骤二:导入我们的 GPG 密钥:
wget -O - https://openresty.org/package/pubkey.gpg | sudo apt-key add -
步骤三:添加我们官方 APT 仓库。
对于 x86_64 或 amd64 系统,可以使用下面的命令:
echo "deb http://openresty.org/package/ubuntu $(lsb_release -sc) main" \
| sudo tee /etc/apt/sources.list.d/openresty.list
步骤四:更新 APT 索引:
sudo apt-get update
然后就可以像下面这样安装软件包,比如 openresty:
sudo apt-get -y install openresty
安装目录
默认安装目录 /usr/local/openresty
运行命令
- 查看状态
- systemctl status openresty.service
- 启动
- systemctl start openresty.service
- 停止
- systemctl stop openresty.service
- 重载
- systemctl reload openresty.service
在10.10.100.200服务器上安装PHP7.4
在正式环境下,最好还是用源码或是yum安装吧,自定义比较方便,这里主要是为了方便而已
设置软件源并更新(可选 )
如果是新服务器,需要做以上的步骤,具体操作这 里不写了
安装php7.4
apt-get install php7.4
安装php7.4-fpm
apt-get install php7.4-fpm
运行命令
- 查看状态
- systemctl status php7.4-fpm.service
- 启动
- systemctl start php7.4-fpm.service
- 停止
- systemctl stop php7.4-fpm.service
openresty 和php的配置文件调整
openresty配置文件如下
配置文件目录
/usr/local/openresty/nginx/conf
nginx.conf配置文件
说明:这里由于 是本地环境,并没有做任何的优化设置,直接在nginx.conf里修改的,正式环境上自行调整吧
{
worker_processes 1;
error_log logs/error.log info;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
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 logs/access.log main;
sendfile on;
keepalive_timeout 65;
#反向代理池,这里可以设置多个参数,这里省略了
upstream phppools {
server 10.10.100.200:9000;
}
server {
listen 80;
server_name localhost;
location / {
root /wwwdata;#这个目录也必须要 在php服务器上有才可以
index index.php index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /wwwdata;
}
location ~ \.php$ {
root /wwwdata;#这个目录也必须要 在php服务器上有才可以
fastcgi_pass phppools; #如果php服务器有多个,可以使用upstream来实现
#fastcgi_pass 10.10.100.200:9000; #如果php服务器只有一台,可以这样设置
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;#如果访问出现404时,试试改下这里
include fastcgi_params;
}
}
}
php7.4-fpm配置修改如下
配置目录
/etc/php/7.4/fpm/pool.d
www.conf配置文件
需要修改监听 地址 ,需要把127.0.0.1或socket的监听方式改成监听本地ip地址的 方式
listen=10.10.100.200:9000
php 服务器上也需要有与openrestry服务器上有同样的目录,就是 这个/wwwdatap目录,需要与openresty配置文件中的root参数中的目录保持一 样,这样以后你的php项目都是放在这个php服务器上的/wwwdata目录里就可以正常访问了
猜你喜欢
- 2024-10-04 私有云搭建ubuntu+php7.2+nginx+mysql+nextcloud
- 2024-10-04 【网络安全】关于PHP Study nginx解析高危漏洞的预警通报
- 2024-10-04 linux中docker配置nginx+php+mysql+thinkphp完整案例
- 2024-10-04 php为什么要用nginx做代理 为什么用php开发网站
- 2024-10-04 nginx限制php程序“跨站”访问 nginx限制只能域名访问
- 2024-10-04 nginx和php-fpm通信,使用unix socket还是TCP
- 2024-10-04 使用docker-compose安装php+nginx+memcached
- 2024-10-04 快速搭建NGINX-HTTPD-PHP-MySQL环境
- 2024-10-04 nginx无法解析PHP以及网站路径问题
- 2024-10-04 Nginx提升:Nginx+PHP+FastCGI加速模式
你 发表评论:
欢迎- 最近发表
-
- 我的世界光影MOD下载(我的世界光影mod下载安装)
- 我的世界1.7/1.8VoxelMap小地图MOD下载
- 我的世界1.7.10多世界 整合包(我的世界1.7.10forge整合包)
- 我的世界1.8最好用的修改器下载(我的世界1.8最好用的修改器下载安装)
- 我的世界更多弯曲动作MOD下载(我的世界更多弯曲动作mod下载手机版)
- 我的世界龙珠MOD下载(我的世界龙珠模组整合包下载)
- 我的世界1.7.10以太2 下载(我的世界以太2mod1.12.2)
- 我的世界虚拟人生MOD下载分享(我的世界虚拟人生下载安装)
- 我的世界无正版账号的简单联机方法(非网易版,仅适用于局域网)
- “我的语言极限,即是我的世界的极限。” ——《On Java》书籍推荐
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)