nginx上WordPress上传目录权限的解决方案

之前的配置文件总有这样那样的问题。 经过反复测试,现在这样写: location /wp-content/uploads/ { #只有jpg/jpeg/png/gif文件可以被访问,其它的一律403。 if ($request_filename !~* \.(jpg|jpeg|gif|png)$) { return 403; } #只写上面一段的话,php还是会被解析运行,大概是优先级的问题,还得写下面这句才行 location ~* .*.(php|cgi|sh|py|pl|jsp|asp)$ { deny all; } } 这样一来,只有jpg/jpeg/png/gif文件可以被访问,其它的一律403。

PHP 5.3以上版本为每个虚拟主机设置open_basedir的办法

前面文章里提过open_basedir来保平安,但那个是写在一句里的,对整个服务器而言的设置。 PHP5.3支持对每个虚拟主机设置不同的open_basedir。感觉安全性又高了一层。 这样搞: vim /etc/php5/fpm/php.ini 你机子上的php.ini可能不在这个位置,反正改php.ini就对了。 找到open_basedir这一条,改成下面这种格式: [HOST=www.aaa.com] open_basedir=/usr/share/nginx/html/aaacom/:/tmp/:/proc/ [HOST=/home/www/www.bbb.com] open_basedir=/usr/share/nginx/html/bbbcom:/tmp/:/proc/ 当然,如果你的机器只跑一个网站那也就没必要了。

在Debian8上部署ShadowSocks

墙现在是越砌越高了。其实咱倒不是说反对过滤,但是我国的墙水平还是太低,没法精准过滤,走的又是“宁可错杀一千不可放过一个”的路线。经常把人畜无害的也给一起墙了。比如reCaptcha,就是躺墙的典型,非常影响正常使用。 现今有VPS的话,shadowsock是翻墙的好选择。在Debian8的官方源里面就有,不过版本有点老。部署最新版的方法如下:

Xshell使用DSA/RSA证书登录SSH

使用XShell,我们可以通过SSL证书来完成与SSH服务器的认证。这种方式比直接输入密码要安全一些。弄起来也很简单。 1、菜单选择 工具-新建用户密钥生成向导,选择密钥类型。注意DSA只能选1024位及以下,超过1024位的服务器不认。RSA建议2048位。

Mysql/MariaDB禁用InnoDB的方法

InnoDB很强大,不过VPS一般内存不大,用这个比较吃内存。如果你不用InnoDB,可以把它禁用。 方法:新建一个文件:/etc/mysql/conf.d/noinno.cnf,内容为: [mysqld] skip-innodb default-storage-engine=MyISAM default-tmp-storage-engine=MyISAM loose-innodb-trx=0 loose-innodb-locks=0 loose-innodb-lock-waits=0 loose-innodb-cmp=0 loose-innodb-cmp-per-index=0 loose-innodb-cmp-per-index-reset=0 loose-innodb-cmp-reset=0 loose-innodb-cmpmem=0 loose-innodb-cmpmem-reset=0 loose-innodb-buffer-page=0 loose-innodb-buffer-page-lru=0 loose-innodb-buffer-pool-stats=0 loose-innodb-metrics=0 loose-innodb-ft-default-stopword=0 loose-innodb-ft-inserted=0 loose-innodb-ft-deleted=0 loose-innodb-ft-being-deleted=0 loose-innodb-ft-config=0 loose-innodb-ft-index-cache=0…

折腾VPS笔记:Debian+LNMP (NMP配置)

nginx和php5-fpm的配置 nginx的配置要和php5-fpm联合起来说。 这俩是什么关系呢?原先在LAMP中,Apache接受客户端的请求,发现是php文件的话,就扔给mod_php来处理。而用了nginx+php5-fpm的话,nginx接受请求,把php文件扔给php5-fpm来处理。 其实,Apache也可以把php扔给php5-fpm,nginx也可以把php扔给Apache的mod_php(很多人这么干),不过我还没看出来这有什么好处。

折腾VPS笔记:Debian+LNMP的配置 (安装)

DPMag.net之前用VPS默认提供的CentOS 6.5+LAMP来搭建,一直稳定运行,加上本站访问量实在有限,似乎也扯不到什么安全性的问题。 但是宅男不折腾折腾是会手痒的。在另一台VPS上,我正在玩一些新潮的东西。系统弄到了Debian 8.0,Apache换成了nginx,MySQL Server也换成了MariaDB,整个是一套非典型LNMP。 LNMP好说,选Debian很多人会嘲笑我。但我有我的理由

CentOS 6.6 + LAMP实战 (三)

6 PHP安全加固 现在你的VPS网站可以跑了,但是访问多了,安全性就得重视起来,我们从apache php mysql三个方面分别加固。 vim /etc/php.ini 打开PHP配置文件,进行一些修改。 先看386行,这一行指定PHP禁用的函数。PHP的功能很强大,但功能强大就意味着安全隐患多。我们跑一般的网站,也用不着这些功能。像下面这样修改:

CentOS 6.6 + LAMP实战 (二)

4、MySQL配置 # service mysqld start <–启动mysql server MySQL安装以后,默认的配置文件my.cnf是没有什么用的。我们需要从/usr/share/mysql/里面复制一个出来代替它。 # cp /usr/share/mysql/my-medium.cnf /etc/my.cnf 在/usr/share/mysql/有5个预设的配置文件。分别适用于各种规模的数据库。在配置文件中,分别指明了适用于多大系统内存的服务器使用。具体来说是这样的: