谢烟客-----LNP之PHP C 扩展 (Phalcon)
Nginx的特性:
高性能的静态web服务器
作为smtp,httpd,tomcat,pop3等反向代理服务器
10000个并发,仅消耗1M内存
基于libevent库,支持event的epoll的边缘触发机制。
异步IO,内存映射
负载均衡、缓存
支持ssl,https,fastcgi协议
支持不停机升级,日志滚动,配置更新
安装方式:
编译安装
rpm安装(epel)
编译安装nginx的步骤:
开发环境:
CentOS 6: yum groupinstall "Development Tools" "Server Platform Development"
CentOS 7: yum groupinstall "Development Tools"
依赖的包
yum install -y pcre-devel openssl-devel
获取源码包: nginx.org
编译安装:
1、添加nginx用户
useradd -r -g nginx
2、编译
tar xf nginx-1.12.1.tar.gz
./configure --with-debug --with-pcre --http-client-body-temp-path=/var/tmp/nginx/client-body --http-proxy-temp-path=/var/tmp/nginx/proxy --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi --http-fastcgi-temp-path=/var/tmp/nginx/fastcgi --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module --with-threads --user=nginx --group=nginx --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx/nginx.pid --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --conf-path=/etc/nginx/nginx.conf --prefix=/usr/local/nginx
make -j 4 && make install
install -d /var/tmp/nginx/{client-body,proxy,uwsgi,scgi,fastcgi}
编译后的完善:
1、环境变量
echo "export PATH=/usr/local/nginx/sbin:$PATH" > /etc/profile.d/nginx.sh
2、配置文件的优化:
1)优化性能相关的配置:
worker_processes # ; [main段] 所能够打开的worker进程的个数是"cpu物理核心数-1"
worker_cpu_affinity auto; [main段] 增加缓存命中率
worker_priority #; [main段] 数据越低,分配CPU的时间越多,越先被调度到CPU上运行。
2)事件相关的配置:
accept_mutex on|off; 主控进程轮流地序列化的调度请求至每个worker进程
use method; 处理用户请求的方法prefork:select,poll; event:epoll
worker_connections number; 一个worker进程所能够接收的最大并发连接数量。
worker_processes 3; * worker_connections 1024 < 65536
当前系统能够打开的总套接字数量:65536
注意修改配置后:
检测配置文件的语法:nginx -t
重载配置文件:nginx -s reload
php安装:
php执行PHP脚本代码一般会经过如下4个步骤
1、Scanning(Lexing) —— 将PHP代码转换为语言片段(Tokens)
2、Parsing —— 将Tokens转换成简单而有意义的表达式
3、Compilation —— 将表达式编译成Opocdes
4、Execution —— 顺次执行Opcodes,每次一条,从而实现PHP脚本的功能
phalcon的特点:
低开销
低内存消耗和 CPU 相比传统的框架
MVC & HMVC
模块、 组件、 模型、 视图和控制器
依赖注入
依赖注入和位置的服务和它的本身他们的容器。
Rest
在这种情况下,你可以使用任一微或完整的堆栈应用程序达到你的目标。此外,一套强大的 HTTP 助手。
自动加载
提供符合PSR-4标准的自动加载机制
路由器
Phalcon\Mvc\Router 提供了先进的路由功能。
编译安装php的步骤:
开发环境:
# yum -y groupinstall "Desktop Platform Development"
程序包:
# yum -y install bzip2-devel libmcrypt-devel libxml2-devel
获取源码包:php.net
编译安装:
tar xf php-5.6.31.tar.xz
./configure --prefix=/usr/local/php --with-mysql=mysqlnd --with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-openssl --enable-fpm --enable-sockets --enable-sysvshm --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-libxml-dir=/usr --enable-xml --with-mhash --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2 --with-curl
make -j 4 && make install
编译安装后续配置:
配置文件:
# cp php.ini-production /etc/php5/php.ini
提供脚本
# cd /usr/local/php
# cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
# chmod +x /etc/rc.d/init.d/php-fpm
# chkconfig --add php-fpm
提供配置文件:
# cp /usr/local/php5/etc/php-fpm.conf.default /usr/local/php5/etc/php-fpm.conf
配置fpm的相关选项为你所需要的值,并启用pid文件(如下最后一行):
# vim /usr/local/php5/etc/php-fpm.conf
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 8
pid = /usr/local/php5/var/run/php-fpm.pid
测试启动php-fpm
service php-fpm start
加入phalcon模块
1、获取phalcon源码
phalconphp.com/zh/
2、编译:
git clone https://github.com/phalcon/cphalcon
cd cphalcon/build
sudo ./install
3、在php.ini中添加php扩展:
extension=phalcon.so
4、重启php-fpm,验证模块:
php -m
Array(
[0] => Core
[1] => libxml
[2] => filter
[3] => SPL
[4] => standard
[5] => phalcon
[6] => pdo_mysql
)
转载于:https://blog.51cto.com/sonlich/1950946
谢烟客-----LNP之PHP C 扩展 (Phalcon)相关推荐
- php框架大全图解_PHP框架汇总 - 鱼煎的个人空间 - OSCHINA - 中文开源技术交流社区...
PHP C 扩展 (Phalcon)https://phalconphp.com/zh/ Zephir/C 扩展的加载与 PHP web 服务器守护进程启动进程一次 类和函数提供的扩展都准备好要使用的 ...
- 网课/网校/知识付费/在线教育系统,100%全功能开源,可免费商用
一.开源项目简介 酷瓜云课堂,依托腾讯云基础服务架构,采用C扩展框架Phalcon开发,GPL-2.0开源协议,致力开源网课系统,开源网校系统,开源知识付费系统,开源在线教育系统. 酷瓜云课堂 - 网 ...
- 推荐一个基于PHP的局域网课程点播系统
系统概要 酷瓜云课堂局域网版,满足局域网内课程点播需求,提供包括音视频存储管理.音视频转码处理.音视频加密处理.音视频加速播放的一站式解决方案.所有服务都本地部署,没有外部依赖,资源文件和数据库都在本 ...
- 我不是网管 - 10分钟搭建一个校园课程直播平台
系统概要 酷瓜云课堂局域网版,满足校园课程直播需求,提供包括音视频存储管理.音视频转码处理.音视频加密处理.在线直播和录播的一站式解决方案.所有服务都本地部署,没有外部依赖,文件和数据库都在本地,安全 ...
- php 开启phalocn 扩展_php7安装3.4版本的phalcon扩展
php7安装phalcon扩展 适用于Centos6.x和Centos7.x系统,php使用7.1版本,wlnmp一键包已支持该扩展 1.安装所需依赖,如果在编译时还提示缺少其他依赖,请自行安装 yu ...
- 使用 Zephir 轻松构建 PHP 扩展
简介: 通过 PHP 扩展, 我们可以在 php 代码中使用一些特定的方法(大部分的 php 扩展都是用 C 写的). 比如,在 PHP 中需要与 SQLite3 交互,我们可以自己写方法与之进行连接 ...
- Phalcon 訪问控制列表 ACL(Access Control Lists ACL)
Phalcon在权限方面通过 Phalcon\Acl 提供了一个轻量级的 ACL(訪问控制列表). Access Control Lists (ACL) 同意系统对用户的訪问权限进行控制,比方同意訪问 ...
- php: xampp安装对应的phalcon版本(3.2.2-php5.6):比如redis-php5.6, php_igbinary-5.6
php: xampp安装对应的phalcon版本(3.2.2-php5.6):比如redis-php5.6, php_igbinary-5.6 一.php安装redis扩展 1.使用phpinfo ...
- Phalcon入门教程之安装
Phalcon安装 # 下载安装包wget https://github.com/phalcon/cphalcon/archive/v3.0.1.tar.gz# 重命名mv v3.0.1.tar.gz ...
- 法尔康,你大爷的,phalcon配置大全
法尔康!法尔康! 法尔康! 非要坑,非要坑,非要坑~~~~~~~~~~~~ ·坑我,坑我,坑我 环境:linux centos7.0 nginx php5.5.* 1. 检查php扩展 官方的g ...
最新文章
- 与15级新加入团队同学的约定
- 自定义ClassLoader实现java应用核心逻辑模块热部署
- 简单介绍Fedora 8飞信安装及解压
- “数据中心迁移到IDC数据中心”最怕遇到这几个问题
- 分布式--ActiveMQ 消息中间件(一) https://www.jianshu.com/p/8b9bfe865e38
- 【解决办法】你目前是以 ***的身份登录。请注销,然后使用你用于阅读组织电子邮件的帐户登录 Outlook
- AgileConfig 1.6.0 发布 - 支持服务注册与发现
- 加速业务交付,从 GKE 上使用 Kubernetes 和 Istio 开始
- Android初学第53天
- 6张图为你分析Kafka Producer 消息缓存模型
- Bind 一些有趣的东西 【未完待续】
- c语言二级题库中会有错题吗,二级C语言题库-改错题
- 【学生考勤管理系统】 学生考勤打卡系统 学生打卡学生考试系统 学生OA系统
- 超详细用实验教你如何配置OSPF
- VMware安装及配置静态Ip、域名、免密(centos7)
- 时空图卷积网络ST-GCN论文完全解读记录
- 怎样设置word背景图片每一页都不同
- 指标详解(1)-- 轨道线指标(ENE)详解
- 【逻辑漏洞技巧拓展】————5、密码逻辑漏洞
- 计算机信息管理招聘笔试题,计算机信息管理专业卫生事业单位招聘考试笔试模拟题(七)...
热门文章
- mathematica 矩阵对角化
- Bzoj4484 [Jsoi2015]最小表示
- JS,统计图表大全--十一、甘特图
- #微信公众号互联登录-01#
- Educational Codeforces Round 61 (Rated for Div. 2) D. Stressful Training //二分
- 商品详情页系统架构-笔记12 - 商品详情页整体架构组成+前端介绍
- java vad_(转载)静音检测VAD算法
- 201711671109《Java程序设计》第九周总结(第8章)
- 端端Clouduolc同步索引简述
- sql 取最近一周的周几_我最近的几周摘要