设为首页 收藏本站
查看: 1911|回复: 0

[经验分享] 谢烟客

[复制链接]

尚未签到

发表于 2018-12-13 11:28:06 | 显示全部楼层 |阅读模式
  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
  )
  





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-650904-1-1.html 上篇帖子: 翻身的废鱼——论PHP从入门到放弃需要多久?15 下篇帖子: 翻身的废鱼——论PHP从入门到放弃需要多久?10
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表