好久没有更新网站了

主要还是犯懒。重新捡起来吧,当个笔记本也不错。 近期把服务器系统更新了一下,从Ubuntu 18更新到了20,PHP从7.2更新到7.4,nginx更新到了1.22.0 。 遇到了一些问题,靠着log和bing一一解决。 如果看官也想干这个事,记得要把网站的nginx conf文件更新一下,upstream中的sock名字和位置改了。

不用插件,把WordPress站点网络的分站绑定到一级域名

前一篇写了下怎么用站点网络功能,在一个Wordpress安装上建立多个分站,不过分站只能绑定到二级域名,这样意义就不大了。怎么绑定到一级域名呢? 网上查了一下,要用一个Domain Mapping插件,可是这个插件貌似与新版Wordpress兼容性不大好。恰好找到这个帖子,不用插件也可以绑定!(可能需要先保证Pretty Permalink正常使用)具体说来这么几步:

WordPress站点网络初步探索

WordPress 3.0+版本支持MultiSite,站点网络功能,也就是安装一份Wordpress,就可以弄出多个WP站点来,就像新浪博客那样。 默认情况下可以支持sub-domain(二级域名)和sub-directory(子目录)两种方式。官方文档提供了Apache的配置方式,nginx的配置文档要在nginx官网找。试了一下sub-domain模式,非常简单。

nginx下建立WordPress站点的小总结

1、PHP配置 disable_functions = show_source,phpinfo,passthru,exec,system,chroot,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd,posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority

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/ 当然,如果你的机器只跑一个网站那也就没必要了。

折腾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(很多人这么干),不过我还没看出来这有什么好处。