欢迎光临
我们一直在努力
共 131 篇文章

标签:[db:标签] 第7页

Nginx利用fastcgi_cache缓存php页面教程

前言 配置 1. 在nginx的主配置文件 2. 站点配置 3.验证 4. 遇到问题 前言 fastcgi_cache是一个nginx的插件,用于缓存fastcgi接口的执行结果,例如缓存php的执行结果。特别是php网站的首页与一些非交互页面,利用fastcgi_cache可以大幅度提升访问速度,并且降低php的执行压力。 配置 1. 在nginx的主配置文件 在主配置文件(nginx.conf)中添加缓存域 fastcgi_cache_path /dev/shm/nginx-cache levels=1:2 keys_zone=cgi_wpcache:200m inactive=1d; fastcgi_cache_path:缓存文件的路径,/dev/shm/为tmfs缓存文件系统, 实际储存在内存中,所以读写IO性能更高。 levels:缓存目录的结构层次,例如1:2,缓存文件会就生成在指定目录的再下两层目录中。 keys_zone:缓存域名称,在vhost内进行缓存时需要调用。 inactive:缓存不活动时间,若缓存内容在指定时间内未被访问将会被清理出缓存域。 2. 站点配置 location /archives/ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME /data/webroot/$fastcgi_script_name; include fastcgi_params; fastcgi_cache cgi_wpcache; fastcgi_cache_methods GET HEAD; fastcgi_cache_key $request_method$host$request_uri; fastcgi_cache_valid 200 2d; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; add_header X-Cache “$upstream_cache_status”; } fastcgi_cache:指定缓存域 fastcgi_cache_methods:指定缓存的请求方式 fastcgi_cache_key:指定缓存文件的标识,这个标识会MD5转码存储在缓存域的目录下 fastcgi_cache_valid:指定缓存状态,例如上文中只缓存响应状态码为200的请求所产生的返回页面两天 fastcgi_ignore_headers:默认情况下fastcgi_cache会忽略有特殊header的请求,并不进行缓存,官网说明。但当我们添加这个参数后,这些限制将不在存在。 add_header 将会在返回请求的response的header中添加一个X-Cache字段表示是否进行了缓存。如果需要也可以在nginx日志中通过log_format添加$upstream_cache_status字段 ·MISS 未命中,请求被传送到后端 ·HIT 缓存命中 ·EXPIRED 缓存已经过期请求被传送到后端 ·UPDATING 正在更新缓存,将使用旧的应答 ·STALE 后端将得到过期的应答 3.验证 配置完成后重新加载nginx后通过curl -I 访问如下: [root@localhost local]# curl -I localhost/archives/1.php HTTP/1.1 200 OK Server: nginx/1.14.0 Date: Mon, 25 Jun 2018 06:48:05 GMT Content-Type: text/html; charset=UTF-8 Connection: keep-alive Vary: Accept-Encoding X-Powered-By: PHP/7.0.30 Expires: Tue, 26 Jun 2018 06:48:05 GMT Cache-Control: max-age=86400 X-Cache: MISS 第一次访问 X-Cache: MISS 说明还未进行缓存。 [root@localhost local]# curl...

赞(0)adminadminunix 阅读(2696)去评论

阿里云因 bug 禁用内部 IP 导致链路不通,造成大规模故障 学派吧

阿里云午夜在官网、微博发布了故障公告: 6月27日下午,我们在运维上的一个操作失误,导致一些客户访问阿里云官网控制台和使用部分产品功能出现问题,引发了大量吐槽。故障于北京时间2018年6月27日16:21左右开始,16:50分开始陆续恢复。 经过紧急技术复盘,故障原因如下: 当天下午,工程师团队在上线一个自动化运维新功能中,执行了一项变更验证操作。这一功能在测试环境验证中并未发生问题,上线到自动化运维系统后,触发了一个未知代码bug。错误代码禁用了部分内部IP,导致部分产品访问链路不通。 后续人工介入后,工程师团队快速定位问题进行了恢复。 受影响范围包括阿里云官网控制台,以及MQ、NAS、OSS等产品功能。 对于这次故障,没有借口,我们不能也不该出现这样的失误!我们将认真复盘改进自动化运维技术和发布验证流程,敬畏每一行代码,敬畏每一份托付。 下午 16:30 左右,微信朋友圈、微信群、微博出现阿里云故障消息,故障原因主要体现在阿里云官网、控制台无法访问,尝试登陆阿里云官网,显示如下: 官网有时候可以访问,有时候显示502错误的网关,即使官网可以访时,点击登陆,页面只会刷新,登陆不了。 一位行业从业者发推称:阿里云的函数计算挂了,导致线上故障。打算马上降级到本地计算,结果阿里云的 Kubernetes 也挂了。想着挨个机器手工改一下,发现 OSS 也挂了…整个过程没有报警,因为 SLS 也挂了…(备注:未得到阿里云官方确认) 官网公告称16:21左右开始,阿里云官网的部分管控功能,及MQ、NAS、OSS等产品的部分功能出现故障,以下为全文: 阿里云官网通告:6月27日阿里云部分产品及账号登录访问异常通告 【阿里云】【网络】【异常通告】 异常时间:北京时间2018年6月27日16:21左右。 异常概述:于北京时间2018年6月27日16:21左右开始,阿里云官网的部分管控功能,及MQ、NAS、OSS等产品的部分功能出现访问异常,阿里云工程师正在紧急处理中,请您稍后重试。 【异常更新】 北京时间2018年6月27日 16:50 目前受影响的业务正在逐步恢复中,若遇到异常,请您稍等后重试。 【异常更新】 北京时间2018年6月27日 17:30 目前受影响的业务大部分已经恢复正常,请您确认。若还有异常,请您跟我们反馈,谢谢。 故障时间 50 分钟左右,故障原因,阿里云尚未披露。

阿里云新手Flask + nginx + uwsgi + ubuntu的完整项目部署教程方法

Flask项目部署 web工作原理 nginx安装 添加虚拟主机 uWSGI 静态文件处理 Flask项目部署 web工作原理 客户端 < = > 服务器(nginx) < = > uWSGI < = > Python(Flask) < = > 数据库 nginx安装 源码安装、apt-get install … sudo /usr/local/nginx/sbin/nginx -s reload 添加虚拟主机 1.在nginx的主配置文件最后一个大括号的上面添加: include vhost/*.conf; 2.在conf/下新建文件夹,用于保存所有的虚拟主机配置文件 mkdir vhost 3.vhost目录下新建一个虚拟主机的配置文件(sudo vim idandan.vip.conf) server{ listen 80; server_name idandan.vip; location / { root html/blog; index index.html; } } # sudo vim idandan.vip.conf 4.在html目录下创建blog文件夹,在blog下新建index.html Hello World 5.重启nginx(sudo /usr/local/nginx/sbin/nginx -s reload) 6.添加本地的域名解析,修改文件:(C:\Windows\System32\drivers\etc\hosts) 最后一行添加:139.196.81.238 idandan.vip 7.测试,在浏览器地址栏输入:idandan.vip uWSGI 1.安装:pip3 install uwsgi 2.配置: http: # 采用http协议 socket: # 采用socket协议 wsgi-file # 将数据交给哪个模块 callable # 具体可调用的对象 chdir # 指定uwsgi启动后的当前目录 daemonize # 后台运行,需要指定一个日志文件 # blog.py文件 from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'Hi' if __name__ == '__main__': app.run() 3.简单实例 1.在blog目录下创建blog.py文件,里面写上flask启动代码用于测试 2.启动: sudo uwsgi --http...

赞(0)adminadminunix 阅读(3166)去评论
mysql关于注入的防范及总结教程-

mysql关于注入的防范及总结教程

今天给大家带来一篇关于mysql数据库的注入总结教程 基础知识 什么是SQL注入 什么是Mysql MySQL手工注入 手工注入流程 判断注入点 判断查询的字段数 确定回显位 获取信息函数 获取数据库名 获取表名 获取列名 获取数据 写shell 各位大佬。。。这篇文章是个人再练习注入的时候自己总结出来的一部分经验,步骤确实很简单,百度上面确实也能搜的到相关类似的,但关于文章中一些我个人的理解与总结部分肯定是搜不到的。菜鸟初来乍到,如果个人经验比较少或者说总结的不够深入,入不了各位大佬法眼,请各位大佬见谅。菜鸟还是需要不断学习进步,争取后续分享的文章能有更高的一个质量,能入的了各位大佬的眼。。。给各位大佬递茶。。。。 由于新人刚报道不久,大概浏览了一下论坛内的帖子,发现很多都是大佬们分型的工具,以及各种牛逼的渗透过程及思路记录。关于新人的一些简单入门点的资料好像不多(可能新人刚到,不太熟悉如何寻找资料,如果有误还请各位大佬不吝指教,请多多见谅,)。 这篇文章属于个人在学习sql注入时的一部分总结,后续的关于个人sql注入的总结文章也会陆续发出来。如果跟大佬的有重复或者有什么其他问题,请各位大佬及时指出{:6_430:} 。自评TCV=0….. 下面就是正文部分了。 基础知识 什么是SQL注入 A SQL injection attack consists of insertion or “injection” of a SQL query via the input data from the client to the application. A successful SQL injection exploit can read sensitive data from the database, modify database data (Insert/Update/Delete), execute administration operations on the database (such as shutdown the DBMS), recover the content of a given file present on the DBMS file system and in some cases issue commands to the operating system. SQL injection attacks are a type of injection attack, in which SQL commands are injected into data-plane input in order to effect the execution of...

赞(0)adminadminMySQL 阅读(2265)去评论

CentOS7使用FirewallD管理防火墙教程及使用方法

FirewallD 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具,它拥有运行时配置和永久配置选项。CentOS 7中防火墙是一个非常的强大的功能,本文主要介绍FirewallD常用管理命令。 安装firewalld Centos7自带FirewallD防火墙工具,如果你的系统是最小化安装的,可能就需要自己动手安装firewalld服务。 yum install firewalld firewall-config 运行和停止firewalld systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。我们使用systemctl命令来控制firewalld。 启动防火墙: systemctl start firewalld.service 关闭防火墙: systemctl stop firewalld.service 重启防火墙: systemctl restart firewalld.service 开机时启动防火墙: systemctl enable firewalld.service 开机时禁用防火墙: systemctl disable firewalld.service 查看防火墙运行状态: systemctl status firewalld 配置firewalld-cmd管理防火墙端口 我们使用firewalld的字符界面管理工具firewall-cmd很方便就可以管理firewalld。 显示防火墙状态: firewall-cmd --state 显示防火墙状态: firewall-cmd --state 添加80端口,允许访问80端口,并永久生效: firewall-cmd --zone=public --add-port=80/tcp --permanent 添加服务,允许https访问,并永久生效: firewall-cmd --zone=public --add-service=https --permanent 移除80端口: firewall-cmd --zone=public --remove-port=80/tcp --permanent 重新载入使配置生效: firewall-cmd --reload 查看开放的端口: firewall-cmd --list-ports 当然,你也可以到/etc/firewalld/zones/目录下直接修改xml配置文件。 习惯用centos7以前版本的伙伴都喜欢用iptable来管理防火墙,设置在使用CentOS7后还把系统自带的firewalld服务弃用,转而用老版本的iptable,可我觉得firewalld很好用啊,简单又实在,好东西为什么不用呢。 欢迎大家投稿到我们学派吧

赞(0)adminadminunix 阅读(2168)去评论

wordpress删除文章时自动删除文章图片-WP教程-学派吧

前言 很多朋友wordpress删除文章时候文章的图片和略缩图源文件并不会从服务器删除,对于强迫症来说这太难受了,去网上搜索了一下,有相关的教程,下面的代码放到主题的functions.php文件中就可以 /* 删除文章时删除图片附件 */ function delete_post_and_attachments($post_ID) { global $wpdb; //删除特色图片 $thumbnails = $wpdb->get_results( "SELECT * FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" ); foreach ( $thumbnails as $thumbnail ) { wp_delete_attachment( $thumbnail->meta_value, true ); } //删除图片附件 $attachments = $wpdb->get_results( "SELECT * FROM $wpdb->posts WHERE post_parent = $post_ID AND post_type = 'attachment'" ); foreach ( $attachments as $attachment ) { wp_delete_attachment( $attachment->ID, true ); } $wpdb->query( "DELETE FROM $wpdb->postmeta WHERE meta_key = '_thumbnail_id' AND post_id = $post_ID" ); } add_action('before_delete_post', 'delete_post_and_attachments'); /* 删除文章时删除图片附件over */ ps:这些小功能是我在建站过程中的一些需求,所以记录下来,方便下次使用 欢迎各位网络朋友前来投稿,把喜欢碰到的问题解决方案记录下来。以便下次使用。

mysqldump 参数和使用方法及资料说明

前言 mysqldump是mysql用于转存储数据库的实用程序。它主要产生一个SQL脚本,其中包含从头重新创建数据库所必需的命令CREATE TABLE INSERT等。 1. 常用参数 2. mysqldump 默认参数 3. mysqldump 常用方法 mysqldump是MySQL数据库自带的一款命令行工具,mysqldump属于单线程,功能是非常强大的,不仅常被用于执行数据备份任务,甚至还可以用于数据迁移。 备份粒度相当灵活,既可以针对整个MySQL服务,也可以只备份某个或者某几个DB,或者还可以指定只备份某个或者某几个表对象,甚至可以实现只备份表中某些符合条件的记录。 mysqldump命令创建的是逻辑备份,它输出的结果集有两种格式:一种是将数据转换成标准SQL语句(一堆 CREATE , DROP ,INSERT等语句);另一种是将数据按照指定的分隔符,输出成定界格式的平面文件。 mysqldump 使用参数很多,但是实际上经常用到的并没有多少。下面我们来介绍一下这些参数: mysqldump 具体有多少参数,我们可以使用 $ mysqldump --help 命令查看 1. 常用参数 -?, –help: 显示帮助信息,英文的; -u, –user: 指定连接的用户名; -p, –password: 指定用户的密码,可以交互输入密码; -S , –socket: 指定socket文件连接,本地登录才会使用。 -h, –host: 指定连接的服务器名称或者IP。 -P, –port=: 连接数据库监听的端口。 –default-character-set: 设置字符集,默认是UTF8。 -A, –all-databases: 导出所有数据库。不过默认情况下是不会导出information_schema库。 -B, –databases: 导出指定的某个/或者某几个数据库,参数后面所有名字参量都被看作数据库名,包含CREATE DATABASE创建库的语句。 –tables: 导出指定表对象,参数格式为“库名 表名”,默认该参数将覆盖-B/–databases参数。 -w, –where: 只导出符合条件的记录。 -l, –lock-tables: 默认参数,锁定读取的表对象,想导出一致性备份的话最后使用该参数,会导致无法对表执行写入操作。 –single-transaction: 该选项在导出数据之前提交一个BEGIN SQL语句,BEGIN 不会阻塞任何应用程序且能保证导出时数据库的一致性状态。它只适用于多版本存储 引擎,仅InnoDB。本选项和–lock-tables 选项是互斥的,因为LOCK TABLES 会使任何挂起的事务隐含提交,使用参数–single-transaction会自动关闭该选项。 在InnoDB导出时会建立一致性快照,在保证导出数据的一致性前提下,又不会堵塞其他会话的读写操作,相比–lock-tables参数来说锁定粒度要低,造成的影响也要小很多。指定这个参数后,其他连接不能执行ALTER TABLE、DROP TABLE 、RENAME TABLE、TRUNCATE TABLE这类语句,事务的隔离级别无法控制DDL语句。 -d, –no-data: 只导出表结构,不导出表数据。 -t, –no-create-info: 只导出数据,而不添加CREATE TABLE 语句。 -f, –force: 即使遇到SQL错误,也继续执行,功能类似Oracle exp命令中的ignore参数。 -F, —flush-logs: 在执行导出前先刷新日志文件,视操作场景,有可能会触发多次刷新日志文件。一般来说,如果是全库导出,建议先刷新日志文件,否则就不用了。 –master-data[=#]: 该选项将二进制日志的位置和文件名写入到输出中。该选项要求有RELOAD权限,并且必须启用二进制日志。如果该选项值等于1,位置和文件名被写入CHANGE MASTER语句形式的转储输出,如果你使用该SQL转储主服务器以设置从服务器,从服务器从主服务器二进制日志的正确位置开始。如果选项值等于2,CHANGE MASTER语句被写成SQL注释。如果value被省略,这是默认动作。 –master-data选项会启用–lock-all-tables,除非还指定–single-transaction(在这种情况下,只在刚开始转储时短时间获得全局读锁定。又见–single-transaction。在任何一种情况下,日志相关动作发生在转储时。该选项自动关闭–lock-tables。 所以,我在INNODB引擎的数据库备份时,我会同时使用–master-data=2 和 –single-transaction两个选项。 -x, –lock-all-tables: 在导出任务执行期间锁定所有数据库中的所有表,以保证数据的一致性。这是一个全局锁定,并且自动关闭–single-transaction 和–lock-tables 选项。这个参数副作用比较大,这是全库锁定,备份执行过程中,该库无法进行读写操作,不是所有业务场景都能接受的。请慎用。 -n, –no-create-db: 不生成建库的语句CREATE DATABASE … IF EXISTS,即使指定–all-databases或–databases这类参数。 –triggers: 导出表的触发器脚本,默认就是启用状态。使用–skip-triggers禁用它。 -R, –routines: 导出存储过程以及自定义函数。...

赞(0)adminadminMySQL 阅读(3181)去评论
Apache防盗链和隐藏版本信息-linux-centos运维-

Apache防盗链和隐藏版本信息-linux-centos运维

有需要服务器方面的需求和咨询,可以联系博主 QQ 7271895 一、防盗链 二、隐藏版本信息 实验要求: 三台虚拟机分别是:linux和两台windows虚拟机,linux虚拟机为服务器,Windows7-1为客户端,Windows7-2为盗链端。 实验步骤: 一、防盗链 1.把httpd、apr、apr-util安装包解压缩到/opt目录中 tar zxvf apr-1.4.6.tar.gz -C /opt/ tar zxvf apr-util-1.4.1.tar.gz -C /opt/ tar zxvf httpd-2.4.2.tar.gz -C /opt/ 2.切换到opt目录中,把解压的文件夹递归复制到apr文件夹中 3.用yum仓库安装gcc 、gcc-c++ 、pcre 、pcre-devel、zlib-devel工具包 4.进行配置文件的配置 5.转换为二进制文件且进行安装 6.开启httpd功能且建立软连 7.在httpd的主配置文件/etc/httpd.conf 下修改监听本地主机的IP和主机名域名 8.开启httpd服务关闭防火墙和增强性安全功能 service httpd start service iptables stop Setenforce 0 9.切换到/usr/local/httpd/htdocs/目录下编辑首页 文件 10.把/opt目录下的图片(game.jpg、error.png)复制到当前目录下 11.打开windows7-2盗链客户端,创建文件添加首页文件和图片且更改为扩展文件,放置于C盘inetpub wwwroot目录中。 12.构建DNS解析服务,安装bind包,编辑主配置文件/etc/named.conf修改监听地址。 13.编辑区域配置文件/etc/named.rfc1912.zones 添加域名和区域数据模块 14.复制区域数据模板到benet.com.zone进行编辑 15.启动named服务 16.在站点目录/usr/local/httpd/conf/编辑vim httpd.conf文件中开启重写模块且引用防盗链规则 17.重启httpd服务,打开Windows7-1客户机就行验证 Service httpd restart 二、隐藏版本信息 1.打开抓包工具进行测试 2.到/etc/httpd.conf中开启default.conf 3.切换到/usr/local/httpd/conf/extra/目录中,编辑httpd-default.conf文件把serverToken Full改为serverToken prod。 4.重启httpd服务,进行验证。 service httpd restart

赞(0)adminadminunix 阅读(2203)去评论
Ubuntu+nginx搭建wordpress的教程-WP搭建-

Ubuntu+nginx搭建wordpress的教程-WP搭建

一. 前言 二. 接下来就是搭博客的过程 三、大功告成 一. 前言 开学之初,我发现Azure上有一个100刀的学生优惠。但在领取这个优惠之后,我却一直没有使用的机会,一是自己不会用,二是没有多余的时间。现在等来了放假,终于可以好好搞一搞了。:joy: 这次搭博客可谓是踩了不少坑: 百度的教程基本上都是废的,只有谷歌的英文教程才是能用的,好气啊 apache2是真难用 php各个版本让人混乱 二. 接下来就是搭博客的过程 1、进入Azure的门户,添加一个Ubuntu的主机,学生优惠的主机为B1S,我使用的是公钥登陆,生成公钥的过程就不说了 2、在网络安全组的入站规则中添加443和80端口 3、接下来是连接主机。可以使用PuTTY或者是MobaXterm,输入ip和用户名,再加上私钥就可以连接了。 4、安装Nginx sudo apt-get update sudo apt-get install nginx 安装完成后可以用以下命令操作nginx sudo systemctl stop nginx.service sudo systemctl start nginx.service sudo systemctl enable nginx.service 打开网页看看是否有这样的页面出现,如果有的话就可以进行下一步操作了 5、安装MariaDB sudo apt-get install mariadb-server mariadb-client 对于Ubuntu 16.04有以下命令 sudo systemctl stop mysql.service sudo systemctl start mysql.service sudo systemctl enable mysql.service 输入 sudo mysql_secure_installation 然后进行以下操作 Enter current password for root (enter for none): Just press the Enter Set root password? [Y/n]: Y New password: Enter password Re-enter new password: Repeat password Remove anonymous users? [Y/n]: Y Disallow root login remotely? [Y/n]: Y Remove test database and access to it? [Y/n]: Y Reload privilege tables now? [Y/n]: Y 测试以下密码是否能登陆 sudo mysql -u root...

nginx+php-fpm搭建wordpress-WP搭建教程

1. 准备 LNMP 环境 2. 安装wordpress 3. 配置 一开始搭建的hexo博客,hexo博客有个缺点,他是用nodejs的服务器,不太稳定,服务器经常挂。所以最后还是决定用nginx+php-fpm搭建一个wordpress站点,这样网站就比较稳定。废话不多说,直接进入主题。 我是用的centos的服务器,下面的一些个命令也是centos的命令,不过其他的也相差不大,主要的是步骤正确就好。 1. 准备 LNMP 环境 安装nginx 使用yum安装nginx yum install nginx -y 安装完之后修改配置文件 /etc/nginx/nginx.conf ps:要是配置文件不在这个位置的,可以利用find命令和whereis命令进行查询,参考我另外两篇博文 配置文件参考下面进行更改: 这一步,只需要两处,去除对 IPv6 地址的监听,修改要监听的域名,即: #listen [::]:80 default_server; server_name www.***.com; 修改完了之后,就可以启动nginx,查看自己网站首页了,应该看到的是一个nginx测试页面。 启动nginx nginx 将 Nginx 设置为开机自动启动: chkconfig nginx on 安装php+php-fpm+php-mysql 这一步有两个选择,安装php7.0版本或是老的版本 安装老的版本比较简单: yum install php-fpm php-mysql -y 要是想安装php7.0版本,要先添加源,再安装: 如果是centos6,那么执行以下命令 CentOS/RHEL 6.x: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el6/latest.rpm 如果是centos7.x,那么执行以下命令 CentOS/RHEL 7.x: rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm 安装php和插件: 可以像上面一样,需要哪个装哪个,也可以全部安装 全部安装: yum install php70w php70w* 安装需要的: yum install php70w-common php70w-fpm php70w-opcache php70w-gd php70w-mysqlnd php70w-mbstring php70w-pecl-redis php70w-pecl-memcached php70w-devel 具体可以参考:帐号登录 完了之后启动php-fpm: service php-fpm start 安装mysql yum install mysql-server -y 行不通可参考:centos7 mysql数据库安装和配置 2. 安装wordpress yum install wordpress -y 安装完成后,就可以在 /usr/share/wordpress 看到 WordPress 的源代码了。 由于上面的安装方法默认安装的是英文版,所以我们还要下载中文语言包,如果不需要中文安装可跳过此步骤 wget https://cn.wordpress.org/wordpress-4.8.1-zh_CN.tar.gz tar -zxvf wordpress* mv -f wordpress/wp-content/languages /usr/share/wordpress/wp-content/...

赞(0)adminadminunix 阅读(2575)去评论
Nginx下如何设置WordPress为多站点-WP搭建教程-

Nginx下如何设置WordPress为多站点-WP搭建教程

1、准备 2、Nginx配置 3、安装WordPress 4、启用多站点功能 5、设置域名映射 6、结果 WordPress的多站点功能允许安装一个WordPress程序的情况下,实现多个站点(也就是一套程序,可以绑定多个域名或子域名)。 每个站点拥有独立的主题、插件、文章以及页面。 这样可以极大的减少了维护和更新多个WordPress安装程序的麻烦, 并且,每个站点之间又能够相互独立,互不影响。 WordPress multisite有两个方式:子目录和子域名,这里我们主要介绍子域名方式。 也就是说,在主域名的基础上,我们会创建一个子域名,例如:http://shop.awaimai.com。 同时,我们可以映射这个子域名到一个一级域名如:http://shop.com, 对于访问者来说,访问的就是独立的一级域名。 1、准备 WordPress介绍其多站点功能页面:站点网络管理页面 接着,我们准备几个域名,如下: 站点一:www.awaimai.com(主域名),这是安装WordPress时用的域名 站点二:blog.awaimai.com,二级域名 站点三:news.com,映射的二级域名 news.awaimai.com 站点四:shop.com,映射的二级域名 shop.awaimai.com 注意:WordPress安装后请勿擅自在后台修改域名,即使是把有www改成无www,或者反过来,都有可能引起 redirected you too many times. 错误,详情请看[参考资料2] 然后,登录域名服务商的解析页面,把以上域名的A记录全部设置为WordPress安装的服务器IP。 也可以在本地电脑测试,可以直接修改hosts文件,加入下面1行: 127.0.0.1 www.awaimai.com blog.awaimai.com news.com shop.com 2、Nginx配置 在Nginx配置目录下创建新建一个配置文件,如下: $ sudo vi /etc/nginx/conf.d/awaimai.conf 内容为: server { listen 80; server_name www.awaimai.com blog.awaimai.com news.com shop.com; root /usr/share/nginx/wordpress; index index.php; location / { try_files $uri $uri/ /index.php?$args ; } location ~ /favicon.ico { access_log off; log_not_found off; } location ~ \.php$ { try_files $uri /index.php; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } access_log /var/log/nginx/$host-access.log; error_log /var/log/nginx/wpms-error.log; } 这里我们使用$host变量可以让Nginx为每个域名生成独立的访问日志, 如:news.com-access.log 和 shop.com-access.log。 但是error日志不能用$host变量,所以所有的错误会记录在一个文件里面。 再重启Nginx服务器: $ nginx -s reload 3、安装WordPress 按照WordPress正常安装步骤安装WordPress。 4、启用多站点功能 用文本编辑器打开 wp-config.php 文件,在注释:/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */之前加上如下一行: /* Multisite settings */...

apache默认对进行了编码的url 返回 404-Linux运维日志-

apache默认对进行了编码的url 返回 404-Linux运维日志

有运维或服务器方面的需求,可以联系博主 QQ 7271895 我们通常使用 urlencode()之类的函数将斜线编码成%开头的字符串 但是默认情况下 apache发现请求的URL中有对斜线的编码后的字符,是会返回404页面的 此时,就用到了 AllowEncodedSlashes on 指令允许请求继续被处理 如果apache配置的https,那么http和https需要分别配置。 我用的apache是 Apache/2.4.6 (CentOS) http的配置文件和ssl配置文件是分开的。 在httpd.conf 中直接在文件中增加 AllowEncodedSlashes On 重启就生效了,而https 直接放到配置ssl.conf中是没有生效。后来查到是放到 这个标签里边。 重启后终于生效。 原文出处:csdn -> https://blog.csdn.net/tiantiandjava/article/details/80755991

赞(0)adminadminunix 阅读(1826)去评论
apache防盗链和隐藏版本信息-Linux运维-学派吧-

apache防盗链和隐藏版本信息-Linux运维-学派吧

有需要服务器方面的需求和咨询,可以联系博主 QQ 7271895 文章目录[隐藏] 一、防盗链 二、隐藏版本信息 实验要求: 三台虚拟机分别是:linux和两台windows虚拟机,linux虚拟机为服务器,Windows7-1为客户端,Windows7-2为盗链端。 实验步骤: 一、防盗链 1.把httpd、apr、apr-util安装包解压缩到/opt目录中 tar zxvf apr-1.4.6.tar.gz -C /opt/ tar zxvf apr-util-1.4.1.tar.gz -C /opt/ tar zxvf httpd-2.4.2.tar.gz -C /opt/ 2.切换到opt目录中,把解压的文件夹递归复制到apr文件夹中 3.用yum仓库安装gcc 、gcc-c++ 、pcre 、pcre-devel、zlib-devel工具包 4.进行配置文件的配置 5.转换为二进制文件且进行安装 6.开启httpd功能且建立软连 7.在httpd的主配置文件/etc/httpd.conf 下修改监听本地主机的IP和主机名域名 8.开启httpd服务关闭防火墙和增强性安全功能 service httpd start service iptables stop Setenforce 0 9.切换到/usr/local/httpd/htdocs/目录下编辑首页 文件 10.把/opt目录下的图片(game.jpg、error.png)复制到当前目录下 11.打开windows7-2盗链客户端,创建文件添加首页文件和图片且更改为扩展文件,放置于C盘inetpub wwwroot目录中。 12.构建DNS解析服务,安装bind包,编辑主配置文件/etc/named.conf修改监听地址。 13.编辑区域配置文件/etc/named.rfc1912.zones 添加域名和区域数据模块 14.复制区域数据模板到benet.com.zone进行编辑 15.启动named服务 16.在站点目录/usr/local/httpd/conf/编辑vim httpd.conf文件中开启重写模块且引用防盗链规则 17.重启httpd服务,打开Windows7-1客户机就行验证 Service httpd restart 二、隐藏版本信息 1.打开抓包工具进行测试 2.到/etc/httpd.conf中开启default.conf 3.切换到/usr/local/httpd/conf/extra/目录中,编辑httpd-default.conf文件把serverToken Full改为serverToken prod。 4.重启httpd服务,进行验证。 service httpd restart 如果有不懂的、欢迎加入我们学派吧。一起学习交流。右上角站长群

赞(0)adminadminunix 阅读(1592)去评论

Apache如何禁止访问目录-Linux运维-学派吧

有需要服务器方面的需求和咨询,可以联系博主 QQ 7271895 本文将详细介绍如何操作禁止显示apache网站根目录 进入apache的配置文件 httpd.conf 找到: vim /etc/httpd/conf/httpd.conf Options Indexes FollowSymLinks 修改为: Options FollowSymLinks 其实就是将Indexes去掉,Indexes表示若当前目录没有index.html就会显示目录结构。 重启Apache服务器 如果有不懂的、欢迎加入我们学派吧。一起学习交流。右上角站长群

赞(0)adminadminunix 阅读(1696)去评论
apache如何做到日志分割-Linux运维-学派吧-

apache如何做到日志分割-Linux运维-学派吧

现在许多网站都是用 apache 做 web 代理的,随时间时间的推长,apache 的访问日志 access.log 会越来越大,所以如果能实现每天分割成一个新得日志,这是比较方便管理的。 当然,apache 本身就具备这样的功能,我需要在 apache 的配置文件中,每个网站的日志部分需要调整成如下的格式 httpd.conf:ErrorLog "| /usr/local/apache/bin/rotatelogs /data/www/log/%Y_%m_%d_error.log 86400 480" httpd.conf: CustomLog "| /usr/local/apache/bin/rotatelogs /data/www/log/%Y_%m_%d_access.log 86400 480" common 在上面的 ErrorLog 和 CustomLog 需要调整成上面的格式。 最后的效果如下 如果有不懂的、欢迎加入我们学派吧。一起学习交流。

赞(0)adminadminunix 阅读(1754)去评论

Apache禁止访问目录-Linux运维日志

欢迎来到学派吧-如有需要服务器等业务相关资讯的加我们QQ群 设置Apache禁止访问目录 本文将详细介绍如何操作禁止显示apache网站根目录 进入apache的配置文件 httpd.conf 找到: vim /etc/httpd/conf/httpd.conf Options Indexes FollowSymLinks 修改为: Options FollowSymLinks 其实就是将Indexes去掉,Indexes表示若当前目录没有index.html就会显示目录结构。 重启Apache服务器

赞(0)adminadminunix 阅读(1875)去评论

apache重启时让其自动输入ssl密码-linux运维-学派吧

编辑:/etc/httpd/conf.d/ssl.conf vim ssl.conf 找到: # SSLPassPhraseDialog builtin 修改成: SSLPassPhraseDialog exec:/etc/httpd/conf.d/key.sh 创建:key.sh 编辑:/etc/httpd/conf.d/key.sh vim key.sh #!/bin/bash echo ‘your pass phrase’ #注意‘’号输入方式 注意key.sh的权限755 重启服务器 问题解决 如果有不懂的、欢迎加入我们学派吧。一起学习交流。

赞(0)adminadminunix 阅读(1994)去评论

关于ubuntu下安装完PHP+Apache后,无法解析php的解决方案-Linux运维日志

有需要服务器方面的需求,可以联系博主QQ 7271895(收费) 安装完之后,html文件可以正常解析,php源码直接输出,不能被解析。 通常情况下是apache未加载php模块,通常情况下需要修改httpd.conf文件,但是在ubuntu下为apache2.conf文件 修改如下: 设置 LoadModule php5_module /usr/lib/apache2/modules/libphp5.so AddType application/x-httpd-php .php AddType application/x-httpd-php-source .phps /usr/lib/apache2/modules/libphp5.so换成你的路径。 如果apache2.conf中该项配置,直接加入即可。 然后重启apache即可 sudo /etc/init.d/apache2 restart 如果有不懂的、欢迎加入我们学派吧。一起学习交流。右上角站长群

赞(0)adminadminunix 阅读(2955)去评论

更好的服务器推荐选择

本站主要用于阿里云、腾讯云、华为云服务器活动的推荐及优惠购买方式、并搜集服务器运维的日常解决方案!

联系我们联系我们

登录

找回密码

注册