fastcgi

docker下搭建MySQL+php-fpm+nginx容器环境

痞子三分冷 提交于 2020-08-12 04:42:54
准备镜像 我使用的centos系统,docker-ce最新版本。 先准备好三个镜像 docker pull mysql:5.7 docker pull php:5.6-fpm docker pull nginx:latest 注意,mysql和php不要使用最新版本,坑很多。 docker images #查看镜像 一、构建mysql容器 docker run -d -p 3306 : 3306 -e MYSQL_ROOT_PASSWORD=ziqin666 -v /mysql : / var /lib /mysql --name your_mysql mysql : 5.7 配置容器(进入容器) docker exec -it your_mysql bash 进入之后,要对用户进行授权,以便使用远程连接 连接mysql 输入密码:ziqin666 执行如下命令 GRANT ALL PRIVILEGES ON * . * TO 'root'@ 'localhost' IDENTIFIED BY 'ziqin666' ; GRANT ALL PRIVILEGES ON * . * TO 'root'@ '%' IDENTIFIED BY 'ziqin666' ; GRANT ALL PRIVILEGES ON * . * TO 'root'@ '127.0.0.1'

Linux 安装Nginx

断了今生、忘了曾经 提交于 2020-08-12 00:20:55
去 官网http://nginx.org/ 下载对应的nginx包,推荐使用稳定版本 上传nginx到linux系统 /home/software 安装相关环境 安装依赖环境 (1)安装gcc环境 yum install gcc-c++ (2)安装PCRE库,用于解析正则表达式 yum install -y pcre pcre-devel (3)zlib压缩和解压缩依赖, yum install -y zlib zlib-devel (4)SSL 安全的加密的套接字协议层,用于HTTP安全传输,也就是https yum install -y openssl openssl-devel 4.解压,需要注意,解压后得到的是源码,源码需要编译后才能安装 tar -zxvf nginx-1.16.1.tar.gz 5.编译之前,先创建nginx临时目录,如果不创建,在启动nginx的过程中会报错 mkdir /var/temp/nginx -p 6.在nginx目录,输入如下命令进行配置,目的是为了创建makefile文件 ./configure \ --prefix=/usr/local/nginx \ --pid-path=/var/run/nginx/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --error-log-path=

Nginx+PHP-FPM运行原理

不羁的心 提交于 2020-08-11 20:08:37
CGI common gateway interface (公共网关接口) 请求模式: Web Brower(浏览器) ----(通过http协议传输)----> Http Server(服务器nginx/apache) -----> CGI Program -----> Db Server 与 CGI 通过 STDIN/STDOUT(标准的输入/输出)进行数据传递 nginx(动态加载模块) apache(指定加载模块) CGI工作原理 每当客户请求CGI的时候,WEB服务器就请求操作系统生成一个新的CGI解释器进程(如php-cgi.exe), CGI 的一个进程则处理完一个请求后退出,下一个请求来时再创建新进程。 当然,这样在访问量很少没有并发的情况也行。可是当访问量增大,并发存在,这种方式就不 适合了。于是就有了fastcgi。 FastCGI 像是一个常驻(long-live)型的CGI,它可以一直执行着,只要激活后, 不会每次都要花费时间去fork一次(这是CGI最为人诟病的fork-and-execute 模式)。 一般情况下,FastCGI的整个工作流程是这样的: 1.Web Server启动时载入FastCGI进程管理器(IIS ISAPI或Apache Module) 2.FastCGI进程管理器自身初始化,启动多个CGI解释器进程(可见多个php-cgi

CentOS 7.6 源码安装搭建LNMP架构(Nginx、MYSQL、PHP)

白昼怎懂夜的黑 提交于 2020-08-11 14:49:58
LNMP架构 LNMP是什么 搭建环境 搭建准备 LNMP软件包 搭建nginx 搭建mysql数据库 搭建php 搭建Discuz!论坛 LNMP是什么 LNMP:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。Mysql是一个小型关系型数据库管理系统。PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。 原理:浏览器发送http request请求到服务器(Nginx),服务器响应并处理web请求,将一些静态资源(CSS,图片,视频等)保存服务器上,然后将php脚本通过接口传输协议(网关协议)PHP-FCGI(fast-cgi)传输给PHP-FPM(进程管理程序),PHP-FPM不做处理,然后PHP-FPM调用PHP解析器进程,PHP解析器解析php脚本信息。PHP解析器进程可以启动多个,进行并发执行。然后将解析后的脚本返回到PHP-FPM,PHP-FPM再通过fast-cgi的形式将脚本信息传送给Nginx.服务器再通过Http response的形式传送给浏览器。浏览器再进行解析与渲染然后进行呈现。 搭建环境 LNMP服务器:192.168.245.140(CentOS 7.6) 搭建准备 yum安装以下所需库 gcc gcc-c++ make cmake

LINUX --LNMP部署及应用(LNMP架构部署,nginx,mysql,PHP编译安装,discuz论坛搭建)

耗尽温柔 提交于 2020-08-11 14:44:34
文章目录 前言 一:LNMP架构的部署(理论) 二. 具体LNMP架构discuz论坛搭建部署实验 2.1 实验环境: 2.2. 安装nginx具体步骤 2.2.1 安装环境软件 2.2.2 编译安装nginx 2.2.3 创建软连接,以及将服务交由systemctl管理 2.2.4 创建配置文件,将服务交由systemctl管理 2.2.5 检查服务有无运行 2.2.6 关闭防火墙,用客户机访问主页测试 2.3 源码编译安装mysql 软件 2.3.1 解压软件包,创建程序账户 2.3.2 编译安装 2.3.3 修改安装路径的属主属组 2.3.4 将变量声明为全局变量 2.3.5 初始化数据库 2.3.6 修改mysql密码 2.4 安装PHP 2.4.1 解压软件包,安装环境软件 2.4.2 源码编译安装PHP 2.4.3 修改PHP配置参数 ,php有三个配置文件 2.4.4 检查程序模块 2.4.5 发现php-fpm 模块没开启,开启此模块 2.4.6 把PHP的命令让系统识别 2.4.7 修改nginx 的配置文件,实现动静分离 2.4.8 修改nginx 首页配置,测试PHP服务 2.4.9 创建MySQL数据库并添加用户,及连接测试 2.5 安装Discuz论坛服务 2.5.1 将文件解压到bbs 文件夹安装目录 2.5.2 设置属主属组为配置文件增加使用权限 2

nginx+php-fpm docker镜像合二为一

霸气de小男生 提交于 2020-08-11 12:21:04
一、概述 在上一篇文章介绍了nginx+php-fpm,链接如下: https://www.cnblogs.com/xiao987334176/p/12918413.html nginx和php-fpm是2个独立的镜像,在实际环境部署过程中,发现配置比较麻烦,排错比较耗费实际。 因此,需要将nginx和php-fpm 这2个镜像合并为一个。 二、正式操作 目录结构 新建目录/opt/nginx_php,目录结构如下: ./ ├── default ├── dockerfile ├── README.md └── run. sh default server { listen 80 ; server_name localhost; root /var/www/ html; index index.html index.htm index.nginx - debian.html; location / { try_files $uri $uri / = 404 ; } location ~ \.php$ { fastcgi_pass 127.0 . 0.1 : 9000 ; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi

c++ web 框架 ---ricky.chu

情到浓时终转凉″ 提交于 2020-08-11 06:39:11
C++ 也是有web 框架的 . 我试用过 2 个. 先 说下 treefrog 不记得当时有什么问题, 我从 最新的1.23版本一直 降到 1.19 版本才能使用 . 做了个 博客发表 之类的 样板 , 发现它使用的技术确实有些过时, 还是 由服务器发出 html 文本. 程序代码看起来也不爽 , 不好怎么描述这种感觉 , 这是日本人写的程序. 第二个就是 CWF 了 . 这个 确实不错, 首先它的函数和结构全和 java 名类似 . chain.doFilter doGet doPost doPut doDelete doOption 有此功能 , 可以不用 doPost 包打天下了, 可以按照规矩, 分开使用了. 有服务器代码 在手, 什么跨域问题 , 解决方法 不要太多. 第二, 采用 MVC 架构 . 自行添加 controller, 如果你有时间,自行加个 配置文件 web.xml 来处理 过滤器,控制器之类的, 这个看起来 是不是和 什么 springxxx 框架 有点像. 改成一模一样 的名字都可以. 第三 . 支持 json 非常好, 有前端框架的话, 两个支持都挺好. 代码也看得比较舒服, 愿意让人去认真看一看. 下面是一些网友提供的资料: CppCMS http://cppcms.com/wikipp/en/page/main 以高性能著称,MVC,内容较全

PHP底层运行机制与原理

风格不统一 提交于 2020-08-11 01:20:37
PHP的设计理念及特点 多进程模型:由于PHP是多进程模型,不同请求间互不干涉,这样保证了一个请求挂掉不会对全盘服务造成影响,当然,时代发展,PHP也早已支持多线程模型。 弱类型语言:和C/C++、Java、C#等语言不同,PHP是一门弱类型语言。一个变量的类型并不是一开始就确定不变,运行中才会确定并可能发生隐式或显式的类型转换,这种机制的灵活性在web开发中非常方便、高效。 引擎(Zend)+组件(ext)的模式,降低内部耦合。 中间层(sapi),隔绝web server和PHP。 语法简单灵活,没有太多规范。 PHP的核心架构 PHP核心架构如下图,从下到上可以简单分为四层体系: Zend引擎:纯C实现,是PHP的内核部分,它将PHP代码翻译(词法、语法解析等一系列编译过程)为可执行opcode的处理并实现相应的处理方法、实现了基本的数据结构(如hashtable、oo)、内存分配及管理、提供了相应的api方法供外部调用,是一切的核心,所有的外围功能均围绕Zend实现。 Extensions:围绕着Zend引擎,extensions通过组件式的方式提供各种基础服务,我们常见的各种内置函数(如array 系列)、标准库等都是通过extension来实现。 Sapi :全称是Server Application Programming Interface服务端应用编程接口

CentOS 7编译安装Nginx+MySQL+PHP

二次信任 提交于 2020-08-10 22:45:20
一、配置防火墙,开启80端口、3306端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。 1、关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2、安装iptables防火墙 yum install iptables-services #安装 vi /etc/sysconfig/iptables #编辑防火墙配置文件 # Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp

docker下搭建MySQL+php-fpm+nginx容器环境

自古美人都是妖i 提交于 2020-08-09 21:30:09
准备镜像 我使用的centos系统,docker-ce最新版本。 先准备好三个镜像 docker pull mysql:5.7 docker pull php:5.6-fpm docker pull nginx:latest 注意,mysql和php不要使用最新版本,坑很多。 docker images #查看镜像 一、构建mysql容器 docker run -d -p 3306 : 3306 -e MYSQL_ROOT_PASSWORD=ziqin666 -v /mysql : / var /lib /mysql --name your_mysql mysql : 5.7 配置容器(进入容器) docker exec -it your_mysql bash 进入之后,要对用户进行授权,以便使用远程连接 连接mysql 输入密码:ziqin666 执行如下命令 GRANT ALL PRIVILEGES ON * . * TO 'root'@ 'localhost' IDENTIFIED BY 'ziqin666' ; GRANT ALL PRIVILEGES ON * . * TO 'root'@ '%' IDENTIFIED BY 'ziqin666' ; GRANT ALL PRIVILEGES ON * . * TO 'root'@ '127.0.0.1'