技术杂坛

今天看到一大神分享的文章,在此留个备份:destoon7.0对mysql5..7优化,实现单台几百万数据下秒级速度,可以缓解吃内存的情况,希望对大家有帮助记得要备份数据,以防万一,代码附上ALTERTABLE`destoon_sell_5`ADDINDEX(`status`);ALTERTABLE`destoon_sell_5`ADDINDEX(`vip`);ALTERTABLE`destoon_sell_5`ADDINDEX(`thumb`);ALTERTABLE`destoon_sell_5`ADDINDEX(`addtime`);ALTERTABLE`destoon_sell_5`ADDINDEX(`ip`);ALTERTABLE`destoon_mall`ADDINDEX(`status`);ALTERTABLE`destoon_mall`ADDINDEX(`vip`);ALTERTABLE`destoon_mall`ADDINDEX(`thumb`);ALTERTABLE`destoon_mall`ADDINDEX(`addtime`);ALTERTABLE`destoon_mall`ADDINDEX(`ip`);ALTERTABLE`destoon_buy_6`ADDINDEX(`status`);ALTERTABLE`destoon_buy_6`ADDINDEX(`vip`);ALTERTABLE`destoon_buy_6`ADDINDEX(`thumb`);ALTERTABLE`destoon_buy_6`ADDINDEX(`addtime`);ALTERTABLE`destoon_buy_6`ADDINDEX(`ip`);ALTERTABLE`destoon_quote`ADDINDEX(`status`);ALTERTABLE`destoon_quote`ADDINDEX(`thumb`);ALTERTABLE`destoon_quote`ADDINDEX(`ip`);ALTERTABLE`destoon_group`ADDINDEX(`status`);ALTERTABLE`destoon_group`ADDINDEX(`vip`);ALTERTABLE`destoon_group`ADDINDEX(`thumb`);ALTERTABLE`destoon_group`ADDINDEX(`addtime`);ALTERTABLE`destoon_group`ADDINDEX(`ip`);ALTERTABLE`destoon_exhibit`ADDINDEX(`status`);ALTERTABLE`destoon_exhibit`ADDINDEX(`thumb`);ALTERTABLE`destoon_exhibit`ADDINDEX(`ip`);ALTERTABLE`destoon_news`ADDINDEX(`status`);ALTERTABLE`destoon_article_21`ADDINDEX(`status`);ALTERTABLE`destoon_article_21`ADDINDEX(`thumb`);ALTERTABLE`destoon_article_21`ADDINDEX(`addtime`);ALTERTABLE`destoon_info_22`ADDINDEX(`status`);ALTERTABLE`destoon_info_22`ADDINDEX(`vip`);ALTERTABLE`destoon_info_22`ADDINDEX(`thumb`);ALTERTABLE`destoon_info_22`ADDINDEX(`addtime`);ALTERTABLE`destoon_info_22`ADDINDEX(`ip`);ALTERTABLE`destoon_brand_13`ADDINDEX(`status`);ALTERTABLE`destoon_brand_13`ADDINDEX(`vip`);ALTERTABLE`destoon_brand_13`ADDINDEX(`thumb`);ALTERTABLE`destoon_brand_13`ADDINDEX(`addtime`);ALTERTABLE`destoon_brand_13`ADDINDEX(`ip`);ALTERTABLE`destoon_job`ADDINDEX(`status`);ALTERTABLE`destoon_job`ADDINDEX(`vip`);ALTERTABLE`destoon_job`ADDINDEX(`addtime`);ALTERTABLE`destoon_job`ADDINDEX(`ip`);ALTERTABLE`destoon_know`ADDINDEX(`status`);ALTERTABLE`destoon_know`ADDINDEX(`thumb`);ALTERTABLE`destoon_know`ADDINDEX(`ip`);ALTERTABLE`destoon_photo_12`ADDINDEX(`status`);ALTERTABLE`destoon_photo_12`ADDINDEX(`thumb`);ALTERTABLE`destoon_photo_12`ADDINDEX(`ip`);ALTERTABLE`destoon_video_14`ADDINDEX(`status`);ALTERTABLE`destoon_video_14`ADDINDEX(`thumb`);ALTERTABLE`destoon_video_14`ADDINDEX(`ip`);ALTERTABLE`destoon_down_15`ADDINDEX(`status`);ALTERTABLE`destoon_down_15`ADDINDEX(`thumb`);ALTERTABLE`destoon_down_15`ADDINDEX(`ip`);ALTERTABLE`destoon_404`ADDINDEX(`url`);ALTERTABLE`destoon_404`ADDINDEX(`addtime`);ALTERTABLE`destoon_company`ADDINDEX(`catid`);ALTERTABLE`destoon_company`ADDINDEX(`catids`);ALTERTABLE`destoon_company`ADDFULLTEXT(`catids`);ALTERTABLE`destoon_upload_0`ADDINDEX(`addtime`);ALTERTABLE`destoon_upload_0`ADDINDEX(`username`);ALTERTABLE`destoon_upload_1`ADDINDEX(`addtime`);ALTERTABLE`destoon_upload_1`ADDINDEX(`username`);ALTERTABLE`destoon_upload_2`ADDINDEX(`addtime`);ALTERTABLE`destoon_upload_2`ADDINDEX(`username`);ALTERTABLE`destoon_upload_3`ADDINDEX(`addtime`);ALTERTABLE`destoon_upload_3`ADDINDEX(`username`);ALTERTABLE`destoon_upload_4`ADDINDEX(`addtime`);ALTERTABLE`destoon_upload_4`ADDINDEX(`username`);ALTERTABLE`destoon_upload_5`ADDINDEX(`addtime`);ALTERTABLE`destoon_upload_5`ADDINDEX(`username`);ALTERTABLE`destoon_upload_6`ADDINDEX(`addtime`);ALTERTABLE`destoon_upload_6`ADDINDEX(`username`);ALTERTABLE`destoon_upload_7`ADDINDEX(`addtime`);ALTERTABLE`destoon_upload_7`ADDINDEX(`username`);ALTERTABLE`destoon_upload_9`ADDINDEX(`addtime`);ALTERTABLE`destoon_upload_9`ADDINDEX(`username`);ALTERTABLE`destoon_category`ADDINDEX(`parentid`);ALTERTABLE`destoon_category`ADDINDEX(`listorder`)ALTERTABLE`destoon_category`ADDINDEX(`item`);ALTERTABLE`destoon_area`ADDINDEX(`parentid`);ALTERTABLE`destoon_area`ADDINDEX(`listorder`);ALTERTABLE`destoon_comment_stat`ADDINDEX(`moduleid`);ALTERTABLE`destoon_comment_stat`ADDINDEX(`itemid`);ALTERTABLE`destoon_message`ADDINDEX(`ip`);ALTERTABLE`destoon_message`ADDINDEX(`typeid`);ALTERTABLE`destoon_message`ADDINDEX(`status`);ALTERTABLE`destoon_message`ADDINDEX(`addtime`);ALTERTABLE`destoon_message`ADDINDEX(`isread`);ALTERTABLE`destoon_message`ADDINDEX(`issend`);ALTERTABLE`destoon_online`ADDINDEX(`lasttime`);ALTERTABLE`destoon_guestbook`ADDINDEX(`status`);ALTERTABLE`destoon_keyword`ADDINDEX(`status`);ALTERTABLE`destoon_keyword`ADDINDEX(`updatetime`);ALTERTABLE`destoon_keyword`ADDINDEX(`month_search`);ALTERTABLE`destoon_keyword`ADDINDEX(`total_search`);ALTERTABLE`destoon_keyword`ADDINDEX(`week_search`);ALTERTABLE`destoon_keyword`ADDINDEX(`today_search`);ALTERTABLE`destoon_alert`ADDINDEX(`status`);ALTERTABLE`destoon_alert`ADDINDEX(`addtime`);ALTERTABLE`destoon_webpage`ADDINDEX(`item`);ALTERTABLE`destoon_webpage`ADDINDEX(`listorder`);ALTERTABLE`destoon_announce`ADDINDEX(`listorder`);ALTERTABLE`destoon_link`ADDINDEX(`status`);ALTERTABLE`destoon_member`ADDINDEX(`regtime`);ALTERTABLE`destoon_ad`ADDINDEX(`status`);ALTERTABLE`destoon_ad`ADDINDEX(`username`);ALTERTABLE`destoon_spread`ADDINDEX(`username`);ALTERTABLE`destoon_spread`ADDINDEX(`status`);#下面为全文索引destoon_club_data类似的模块内容全文最好都开启其它的后台有提示ALTERTABLE`destoon_club_data`ADDFULLTEXT(`content`);ALTERTABLE`destoon_cron`ADDINDEX(`nexttime`);ALTERTABLE`destoon_online`ADDINDEX(`username`);#公司供应模块增加全文索引建议用ngram版ALTERTABLE`destoon_company`ADDFULLTEXT(`company`);ALTERTABLE`destoon_company`ADDFULLTEXT(`business`);ALTERTABLE`destoon_company_data`ADDFULLTEXT(`content`);ALTERTABLE`destoon_sell_5`ADDFULLTEXT(`title`);ALTERTABLE`destoon_sell_data_5`ADDFULLTEXT(`content`);#用中文检索分词插件ngram版MySQL5.7.6以上版本中文识别友好要修改程序ALTERTABLE`destoon_keyword`ADDFULLTEXT(`keyword`)WITHPARSERngram;ALTERTABLE`destoon_company`ADDFULLTEXT(`company`,`business`)WITHPARSERngram;ALTERTABLE`destoon_sell_5`ADDFULLTEXT(`title`,`introduce`)WITHPARSERngram;转自:https://blog.csdn.net/luo2424348224/article/details/107757399

技术杂坛

CentOS8默认内核版本为4.18.x,内核版本高于4.9就可以直接开启BBR,所以CentOS8启用BBR非常简单。CentOS8开启BBRecho"net.core.default_qdisc=fq">>/etc/sysctl.confecho"net.ipv4.tcp_congestion_control=bbr">>/etc/sysctl.confsysctl-p然后重启一下系统。检查BBR是否开启成功sysctl-nnet.ipv4.tcp_congestion_controllsmod|grepbbr如果输出包含BBR,说明启用成功。CentOS8升级内核查看当前内核版本uname-r升级内核安装ELRepo源:rpm--importhttps://www.elrepo.org/RPM-GPG-KEY-elrepo.orgrpm-Uvhhttps://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm启用ELRepo源仓库:yum--disablerepo="*"--enablerepo="elrepo-kernel"listavailable安装新内核:yum-y--enablerepo=elrepo-kernelinstallkernel-mlkernel-ml-devel如无意外,最新内核已经安装好。修改grub配置使用新内核版本启动查看当前默认启动内核:dnfinstallgrubbygrubby--default-kernel当前最新版本5.8.1,一般安装完就会以最新内核启动,回返回信息:/boot/vmlinuz-5.8.1-1.el8.elrepo.x86_64如不是,查看所有内核:grubby--info=ALL列表:index=0kernel="/boot/vmlinuz-5.3.8-1.el8.elrepo.x86_64"args="roconsoleblank=0crashkernel=autorhgbquiet$tuned_params"root="UUID=017899bc-0f07-4d05-825c-15f1f8e84d6a"initrd="/boot/initramfs-5.3.8-1.el8.elrepo.x86_64.img$tuned_initrd"title="RedHatEnterpriseLinux(5.3.8-1.el8.elrepo.x86_64)8.0(Ootpa)"id="6e9de0df25a04991b05aa3980b4a01ef-5.3.8-1.el8.elrepo.x86_64"index=1kernel="/vmlinuz-0-rescue-6e9de0df25a04991b05aa3980b4a01ef"args="roconsoleblank=0crashkernel=autorhgbquiet"root="UUID=017899bc-0f07-4d05-825c-15f1f8e84d6a"initrd="/initramfs-0-rescue-6e9de0df25a04991b05aa3980b4a01ef.img"title="RedHatEnterpriseLinux(0-rescue-6e9de0df25a04991b05aa3980b4a01ef)8.0(Ootpa)"id="6e9de0df25a04991b05aa3980b4a01ef-0-rescue"index=2kernel="/boot/vmlinuz-4.18.0-80.11.2.el8_0.x86_64"args="roconsoleblank=0crashkernel=autorhgbquiet$tuned_params"root="UUID=017899bc-0f07-4d05-825c-15f1f8e84d6a"initrd="/boot/initramfs-4.18.0-80.11.2.el8_0.x86_64.img$tuned_initrd"title="CentOSLinux(4.18.0-80.11.2.el8_0.x86_64)8(Core)"id="cad5aebed85947769a25cf534d8f4e59-4.18.0-80.11.2.el8_0.x86_64"index=3kernel="/vmlinuz-0-rescue-cad5aebed85947769a25cf534d8f4e59"args="roconsoleblank=0crashkernel=autorhgbquiet"root="UUID=017899bc-0f07-4d05-825c-15f1f8e84d6a"initrd="/initramfs-0-rescue-cad5aebed85947769a25cf534d8f4e59.img"title="CentOSLinux(0-rescue-cad5aebed85947769a25cf534d8f4e59)8(Core)"id="cad5aebed85947769a25cf534d8f4e59-0-rescue"然后指定新内核启动:grubby--set-default/boot/vmlinuz-5.8.1-1.el8.elrepo.x86_64重启系统reboot,然后uname-r查看就是新内核。

2020-8-15 70 0
2020-4-17 286 0
2020-3-7 204 0
未分类

背景:新做了一个网站:服务器操作系统:Linux;WEB服务器版本:nginx/1.16.1;问题:通过Nginx识别PC/M识别跳到对应的域名下访问,开启阿里云的全站加速功能后,域名能跳转对应的,但是css/js间歇性、随机性死循环式重定向,经过排除服务器、网站程序,最终锁定问题,在此做个记录。问题造成原因:因为通过UserAgent头识别用户的客户端,然后返回不同的内容给不同的UA用户。但是CDN缓存并不会区分UA,只会区分URL,所以相同URL缓存的内容是一致的,无论UA是什么样。解决方案:CDN是支持对不同的UA,设置不同的缓存,这个是根据vary头来控制的。vary头里面的字段一般是头信息的字段,表示CDN会检测这个头信息。如果内容不一致就缓存不同的内容,命中时也一样,必须头信息一致才会缓存。这个vary头需要在源站添加。在Nginx配置中增加如下信息。add_headerVary"Accept-Encoding,User-Agent";实操步骤:因为本人用的是宝塔面板,宝塔已经内置ngx_headers_more模块,所以直接修改Nginx的配置文件在gzip_varyon;下添加:add_headerVary"Accept-Encoding,User-Agent";并把gzip_varyon;修改成:gzip_varyoff;即可。参考资料:https://ziyuan.baidu.com/college/articleinfo?id=717https://help.aliyun.com/knowledge_detail/86967.html解决问题思路:当初未开启cdn的时候,并未出现此问题,后台开启cdn填充内容时,出现问题,因修改网站+填充数据,并未想到是cdn的问题。最初认为是Nginx识别pc/m跳转代码问题,查遍全网基本上就那种形式的写法。然后认为是网站程序不兼容此种方式,咨询了程序官方给出的意见是,2个域名设置2个网站去绑定,结果无果然后才想到cdn的问题,host文件直接ip指向服务器ip,恢复正常,然后提交工单反馈问题,最终结合百度、Google搞定此问题。

技术杂坛

在IIS上构建PHP网站的这一阶段,请考虑加强安全性所需的PHP配置设置,Web服务器设置和PHP应用程序设置。完成这些任务后,请记录您的设计决策,然后再继续执行步骤1:安装IIS和PHP。1.安全的PHP配置设置PHP的动态功能还使其成为潜在的安全风险,因为可以从Internet上的任何位置主动获取,接收和处理数据。攻击者可能会尝试发送恶意数据和脚本,并欺骗您的服务器获取恶意脚本并运行它们。攻击者还可能尝试在您的服务器上读取和写入文件,以控制该网站并将其用于自己的目的。您可以配置PHP设置以加强PHP安装的安全性,并帮助保护网站免受恶意攻击。Php.ini文件指定PHP在您的网站上运行时使用的配置设置。Php.ini文件确定允许哪些PHP脚本执行和禁止执行。本节介绍有助于保护PHP应用程序的配置设置。禁用远程URL的文件处理allow_url_fopen=Offallow_url_include=Off此设置非常重要,因为它可以防止在include()等语句中使用URL。将allow_url_fopen设置为“Off”意味着只能包含驻留在您网站中的文件。您不能包含来自其他服务器的文件,但其他人也不能通过远程文件包含(RFI)攻击。在RFI攻击中,有人在HTTP请求中嵌入了一个URL,希望您的脚本被欺骗运行他们的脚本。例如,不允许执行诸如include("http://website.com/page.php")之类的命令。通过指定路径和文件名,在您自己的站点中包含文件。例如,如果您有一个URL包含行,请将其转换为:include($_SERVER['DOCUMENT_ROOT'].'/page.php');代码段$_SERVER['DOCUMENT_ROOT']是设置为站点根文件夹的超全局变量。(请注意,没有后面的“/”;您必须在'/page.php'中提供前导“/”。)如果您想要包含其他一个网站的静态内容,例如include("http://website.com/page.php"),请在当前网站上制作该内容的副本,然后将其包含在本地。禁用Register_Globalsregister_globals=Off此设置使攻击者难以将代码注入脚本。例如,在URLhttp://site.com/index.php?variable=value中,当register_globals为On时,变量将传递到脚本中,其值设置为value。但是,当register_globals为Off时,变量不会自动传递到脚本的变量列表中。限制文件系统读/写限制文件系统读/写open_basedir="c:\inetpub\"此设置限制PHP脚本访问指定基目录之外的文件。禁用安全模式safe_mode=关闭safe_mode_gid=关闭此设置限制PHP脚本运行的权限。当safe_mode设置为“On”时,某些第三方脚本无法正常运行。请注意,从PHP6开始,safe_mode已弃用。限制脚本执行时间max_execution_time=30max_input_time=60这些设置控制允许脚本运行和解析用户输入的秒数。这些设置有助于防止恶意脚本注入服务器。限制内存使用和文件大小memory_limit=16Mupload_max_filesize=2Mpost_max_size=8Mmax_input_nesting_levels=64这些设置有助于有效管理内存和输入/输出。此外,它们可以防止恶意脚本占用内存和处理大量文件。配置错误记录display_errors=Offdisplay_startup_errors=Offlog_errors=Onerror_log="C:\path\of\your\choice"这些设置指定将所有错误和警告记录到错误日志文本文件中,并指定在从服务器发出的任何网页上都不会显示任何错误或警告。错误不应公开显示,因为它们可以帮助某人弄清楚如何攻击您的服务器。在测试新代码时,请务必检查错误日志启用FastCGI模拟此设置使IIS能够模拟调用客户端的安全性令牌,并定义用于运行请求的安全性上下文。禁用FastCGI日志记录fastcgi.logging=0当PHP使用FastCGI协议在stderr上发送任何数据时,FastCGI模块将使请求失败。禁用FastCGI日志记录将阻止PHP通过stderr发送错误信息,并为客户端生成500个响应代码。隐藏PHP存在expose_php=Off使用此设置,伴随传出页面的标头