登陆宝塔面板->安全 启用SSH 关闭;以免ssh root密码被暴力破解,禁止ssh登陆,只能宝塔登陆; 登陆宝塔面板->面板设置->面板端口 修改默认端口;以免被批量扫描到宝塔端口、定向爆破; 登陆宝塔面板->面板设置->安全入口 修改宝塔路径; 登陆宝塔面板->面板设置-> 修改面板用户和面板密码;
首先讲下swoole是什么 swoole官网:www.easyswoole.com;轻松学swoole的框架:www.easyswoole.com
最近需要使用Ubuntu作为服务器搭建LNMP环境,顺便将操作过程写下来,与大家分享。如有不足之处,欢迎大家提出不同意见。(本文默认读者已经熟悉相关Linux命令的使用,比如创建文件和文件夹,编辑文件的命令等。)
项目开发中,如果有定时任务的业务要求,我们会使用linux的crontab来解决,但是它的最小粒度是分钟级别,如果要求粒度是秒级别的,甚至毫秒级别的,crontab就无法满足,值得庆幸的是swoole提供的强大的毫秒定时器。 应用场景举例 我们可能会遇到这样的场景:
PHP 创建守护进程 进程根据状态可以分为三种进程,守护进程,僵尸进程,孤儿进程。今天我们着重来分析下守护进程。 守护进程 简介 守护进程 (daemon) 是一类在后台运行的特殊进程,用于执行特定的系统任务。很多守护进程在系统引导的时候启动,并且一直运行直到系统关闭。另一些只在需要的时候才启动,完成任务后就自动结束。 创建步骤 创建子进程,终止父进程 由于守护进程是脱离控制终端的,因此首先创建子进程,终止父进程,使得程序在 shell 终端里造成一个已经运行完毕的假象。之后所有的工作都在子进程中完成,而
在Linux服务器中,经常会以php-cli方式运行一些后台服务,例如swoole, workman等WebSocket框架的服务,当这些服务出现了异常要结束或重启时,很多人可能会找不到当时的运行物理路径或物理路径已经不存在了(例如是进入了部署目录里启动的,但因为发布了新版本,所以原来的部署目录文件夹被覆盖或清理,已经不存在了),这样就无法通过常规的方式去停止服务,只能先找到进程id,然后用kill -9 进程ID的方式来结束。
简单点来讲,就是一个监控脚本运行的工具,不过他可以统一化管理,laravel的队列文档上也有相关使用方式方法,例如
WinSW 是可执行的二进制文件,可用于包装和管理 Windows 服务的自定义进程。
方法一:使用命令安装(前提是已经安装了EPEL)。 安装redis: yum -y install redis 启动/停止/重启 Redis 启动服务: 1 systemctl start redis.service 停止服务: systemctl stop redis.service 重启服务: systemctl restart redis.service 检查状态: [root@idoseek ~]# systemctl status redis.service
systemctl start redis.service #启动redis服务 systemctl stop redis.service #停止redis服务 systemctl restart redis.service #重新启动服务 systemctl status redis.service #查看服务当前状态 systemctl enable redis.service #设置开机自启动 systemctl disable redis.service #停止开机自启动
说一下具体经过,我的博客使用的CentOS系统,安装的WDlinux服务器,管理站点比较省事吧,前几天被D了,然后脑抽安装了WD推荐的一个防火墙“云锁”。
启动和停止服务 sudo service nginx restart sudo service nginx start sudo service nginx stop //快速重新加载配置,无需停止nginx服务 sudo nginx -s reload
这个包在我们做定时任务或者需要任务调度系统时特别实用,这是一个composer包,你可以把它安装在你需要的地方,下面说一下这个包吧。
可以选择在http{ }中设置:client_max_body_size 20m;
Linux上的PHP同样有NTS和TS版本的区别,默认是NTS版本,configure时加上–enable-maintainer-zts则编译为TS版本
# rpm -Uvh http://download.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
再将空格的十六进制改为00(系统在对文件名进行读取时,如果遇到0x00,就会认为读取已经结束,系统按二进制或十六进制读取文件,遇到ASCII码为0的位置就停止,而这个ASCII为0的位置在十六进制中是00);
背景 首先,最近鄙人想在后台管理系统中添加一个; 可以跟其他管理员交流的即时通讯的小窗口; 同时也是一种学习积累; 在资源比较中我认为 GatewayWorker 是很合适的 于是,在此进行一番使用技巧的整理,以方便各位避免踩雷 - 环境 框架: ThinkPHP 5.1.2 系统: Windows10、CentOS7.2 GatewayWorker 手册 (推荐详细阅读哦!) GatewayWorker 是基于 Workerman开发的一个项目框架,用于快速开发 TCP长连接 应用,例
Nginx 网站配置文件位置是 /etc/nginx/sites-available/default
这里要介绍一下安装扩展的情况。因为PHP有两种运行方式,一种是FPM,一种是CLI。所以它可以控制一个扩展只在FPM加载,而不在CLI加载的方式。
由于最近想写一个新项目,打算依靠 Gateway Worker 的分布式部署以及 Laravel 的生态。
Nginx 网站目录是 /var/www/html 将项目代码放在这个文件夹下(类似apache/htdocs) Nginx 网站配置文件位置是 /etc/nginx/sites-available/default
Supervisor 是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。
这个设计模式主要是解决复杂对象的创建问题, 使这个抽象过程的不同实现方法可以构造出不同表现(属性)的对象。
本文介绍workerman实现socket通讯,在此之前请确定你对websocket有所了解
nginx 使用C语言进行开发,建议在linux环境下运行,本文只介绍linux下的安装
Hbase有两套thrift接口(thrift1和thrift2),但是它们并不兼容。根据官方文档,thrift1很可能被抛弃,本文以thrift2整合为例。
HHVM 4.11.0 已发布 ,此次更新标志着对 4.5.x 系列的支持已结束。
p100.clearRect(x,y,x,y) // 擦除画布一个区域x-y、x-y
ubuntu 12.04下LAMP安装配置 一. LAMP 的安装 1.sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql
PHP网络技术(四)——Socket简介 (原创内容,转载请注明来源,谢谢) Socket又称为套接字,是操作系统提供的通信层的API,通过套接字,应用程序可以向网络发送请求以及应答请求。 一、进程通信 计算机的每一项工作都在一个进程中,每个进程都有自己的地址范围,因此需要保证进程互不干扰又可以相互协作。Socket提供进程通信的解决方法,实现不同主机进程间的相互通信问题。 同一个主机上,每个进程都有一个独立的编号,称为唯一进程号(Process ID)。但是,不同主机之间,Process ID有可能重
Mac系统对于PHP运行非常友好,我们只需要进行简单的配置便可以开始进行使用,本篇文章将一步一步地介绍Apache、PHP和MySQL的安装与配置,为开始进行开发铺好路
软件源码的处理(一般是删除,属于选做) 软件编译安装的注意事项: rpm和yum一起已经可以解决的软件,尽量不要自己编译安装。 软件的编译,一般需要编译环境以及一些响应的开发包,因此编译安装前需要将编译环境需要的软件安装上去。如:gcc gcc-c++ openssl-devel zlib-devel pcre pcre-devel等 先执行cd /usr/local/src/把要下载安装的文件下载到此路径下, 如果没有安装wget,要先下载wget yum install -y wget #下载'nj
一个静态页面不需要服务器多少资源,甚至可以说直接从内存中读出来发给你就可以了,但是博客论坛等PHP程序就不一样了,Nginx、Apache需要运行PHP程序对.php文件进行解析。再由php到数据库中读取相关展示内容以及判断是否有读帖子的权限,显示出来——这里至少访问了2次数据库,如果数据库的数据容量有200MB大小,系统很可能就要在这200MB大小的数据空间搜索一遍,这需要多少的CPU和IO资源?如果我是查找一个关键字,那么时间更加可观,因为前面的搜索可以限定在一个很小的范围内,比如用户权限只查用户表,帖子内容只查帖子表,而且查到就可以马上停止查询,而搜索肯定会对所有的数据进行一次判断,消耗的时间是相当的大。
最近客户项目里面需要嵌入一个聊天室功能来打造社区生态,增加用户黏度。为了打造单项的引流目的,剔除了聊天中的加好友和私聊功能。这个目前比较忙不考虑短期内更新。
6、在之前编译的源码包中,找到 php.ini-production,复制到/usr/local/php下,并改名为php.ini:
DNMP(Docker + Nginx + MySQL + PHP8/7/5 + Redis)是一款全功能的LNMP一键安装程序。
Xdebug是PHP的一个扩展,方便我们调试PHP应用程序的执行流程信息。使用过JavaScript中的debug,应该就能很好的理解xdebug。总结,大致有如下的功能:
实测:1核1G内存撑住700多代理IP持续攻击,屹立不倒,且CPU在45%左右徘徊。
攻击者借助代理服务器生成指向受害主机的合法请求,实现DDOS和伪装就叫:CC(ChallengeCollapsar)。
PHP 在 5.5 版本中引入了「生成器(Generator)」特性,不过这个特性并没有引起人们的注意。在官方的 从 PHP 5.4.x 迁移到 PHP 5.5.x 中介绍说它能以一种简单的方式实现迭代器(Iterator)。
首先是系统环境:CentOS7,Nginx版本:1.62(如需其他版本自行到官网下载)
因为之前没上队列处理异步任务, 程序一直没问题. 直到某一天上了队列之后, 有同事反馈, 有异常数据上报. 赶紧排查了一下日志, 发现队列中的日志打点数据有问题,随后增加更多打点, 最后定位到了这个地方.
Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。
php的各种扩展配置起来实在不容易,记录一下备忘: 一、php56 安装 虽然php7出来了,但是没用过,不知道有没有坑,这里仍然使用php5.6版本 1.1 安装php/php-pfm brew update brew tap homebrew/dupes brew tap josegonzalez/homebrew-php brew install --without-apache --with-fpm --with-mysql php56 注意:记得要带上--with-mysql 否则代码无法连接m
今天在看一个开源项目的时候,发现作者使用一个ssdb的数据库,第一反应是ssd硬盘,当时很诧异。后面了解后才知道,原来是 nosql数据库。 ssdb介绍 一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis. SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库, 支持 KV, list, map(hash), zset(sorted set) 等数据结构, 用来替代或者与 Redis 配合存储十亿级别列表的数据.SSDB 具有和 Redis 相似的 API,
工作中可能要写一些cli脚本,需要后台运行,一般会用 nohup command &
前期准备: yum -y update wget http://mirrors.cnnic.cn/apache/thrift/0.9.0/thrift-0.9.0.tar.gz yum -y groupinstall "Development Tools" wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz tar xvf autoconf-2.69.tar.gz cd autoconf-2.69 ./configure --prefix=/
领取专属 10元无门槛券
手把手带您无忧上云