莫听穿林打叶声,何妨吟啸且徐行。
竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。
料峭春风吹酒醒,微冷,山头斜照却相迎。
回首向来萧瑟处,归去,也无风雨也无晴。
莫听穿林打叶声,何妨吟啸且徐行。
竹杖芒鞋轻胜马,谁怕?一蓑烟雨任平生。
料峭春风吹酒醒,微冷,山头斜照却相迎。
回首向来萧瑟处,归去,也无风雨也无晴。
可以编辑 .htaccess文件, 例:
# BEGIN WordPress
# 在“BEGIN WordPress”与“END WordPress”之间的指令(行)是
# 动态生成的,只应被WordPress过滤器修改。
# 任何对标记之间的指令的修改都会被覆盖。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
RewriteRule ^xmlrpc\.php$ https://xl.cool [L,R=301]
</IfModule>
# END WordPress
增加上面加粗的那一句,就可以301重定向到你的博客了. (域名改成你的博客)
虽然对方是来攻击的,但也别浪费了他的流量:)
如果你想完全禁止xmlrpc.php的访问, .htaccess 就可以这样写:
# BEGIN WordPress
# 在“BEGIN WordPress”与“END WordPress”之间的指令(行)是
# 动态生成的,只应被WordPress过滤器修改。
# 任何对标记之间的指令的修改都会被覆盖。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
<Files xmlrpc.php>
Order Allow,Deny
Deny from all
</Files>
只要增加上面加粗部分的代码,就可以完全阻挡访问了.
方法二选一.
网易有道youdao dict 给我生成了一个英文名: Xavier
还不错.
Google圣诞节的logo,还是很喜庆的.
在十多年前,还是最喜欢blogger这个平台,觉得这个B字的logo充满激情.
在那个互联网启蒙阶段,可以有blogger这种提供免费生成html页面,免费绑定域名的平台,实属不易.
如今,支持绑定域名的blogger,竟然可以在国内打开. (虽然Blogger平台还是不行,因为需要google帐号)
曾经变复杂的后台,现在也变得简约,模版依旧是html,极致经典.
如果在国外,想写个blog,或者想体验一下blogger,也是可以的.
还有若是想做国际站点,也是很适合的,全免费,甚至流量大,还可以有广告收入.
下载安装学习,记录一下.
浏览器的方式,可以通过局域网或者外网来操作.
若创意来了,即使在手机上也可以连到家里的电脑,进行作图,就很灵活了.
当未来的科技已来,而我却有些后知后觉.
首先,为了做这篇文章,从头开始,重装系统,选择debian 11.6 进行重装: 服务器推荐:腾讯云
配置完成后,用SSH连接(推荐下载Xshell+Xftp,有免费版)
# apt-get update
# apt-get upgrade
# apt-get install apache2
# apt-get install php libapache2-mod-php php-mysql php-tidy php-gd php-curl php-xml php-cli php-mbstring php-zip php-intl php-imagick libapache2-mod-rpaf
用Xftp编辑 /etc/php/7.4/apache2/php.ini
将#extension=mbstring 的#注释掉
extension=mbstring
编辑文件 /etc/apache2/mods-enabled/rpaf.conf
在127.0.0.1 后面加上nginx反向代理服务器的IP地址
RPAFproxy_ips 127.0.0.1 11.22.33.44 55.66.77.88 ::1
更改apache端口(如果不安装nginx代理,此段略过)
用Xftp 编辑 /etc/apache2/ports.conf
将端口 80 改成 20080 或者其它
将端口 443 改成 20443 或者其它
ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/remoteip.load /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/vhost_alias.load /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/ssl.conf /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/ssl.load /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/socache_shmcb.load /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/http2.conf /etc/apache2/mods-enabled
ln -s /etc/apache2/mods-available/http2.load /etc/apache2/mods-enabled
/etc/apache2/sites-available/abc.conf
<VirtualHost *:80>
ServerName www.abc.com
ServerAdmin admin@www.abc.com
DocumentRoot /var/www/www.abc.com
<Directory /var/www/www.abc.com>
Options FollowSymLinks
AllowOverride All
</Directory>
ErrorLog ${APACHE_LOG_DIR}/www.abc.com.error.log
CustomLog ${APACHE_LOG_DIR}/www.abc.com.access.log combined
</VirtualHost>
并创建 /var/www/www.abc.com 文件夹
如果有ngin反向代理做前端,请将以上的80端口改为50080或者其他
链接文件到sites-enabled文件夹
ln -s /etc/apache2/sites-available/abc.conf /etc/apache2/sites-enabled
如有多个网站,请重复以上步骤
最后重启apache
# /etc/init.d/apache2 restart
<IfModule mod_ssl.c>
<VirtualHost *:20443>
ServerName xl.cool
DocumentRoot /var/www/xl.cool
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder on
SSLCertificateFile /etc/apache2/ssl/xl.cool.pem
SSLCertificateKeyFile /etc/apache2/ssl/xl.cool.key
SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
<Directory /var/www/xl.cool>
Options FollowSymLinks
AllowOverride All
</Directory>
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1/32
ErrorLog ${APACHE_LOG_DIR}/xlcool.error.log
CustomLog ${APACHE_LOG_DIR}/xlcool.access.log combined
</VirtualHost>
</IfModule>
SSL 要设置好 证书的位置,以上参考位置 /etc/apache2/ssl/
如果不需要反向代理,这段代码可以删除
RemoteIPHeader X-Forwarded-For
RemoteIPInternalProxy 127.0.0.1/32
apt-get install mariadb-server
安全配置
mysql_secure_installation
设置数据库密码和其他选项,以下供参考
进入mariadb
# mysql -uroot -p12345678 把12345678换成你的密码
新建一个用户名
CREATE USER '用户名'@'localhost' IDENTIFIED BY '密码';
GRANT ALL PRIVILEGES ON *.* to '用户名'@'localhost';
退出后重启数据库
systemctl restart mysql
有时候失败,建议重启服务器 reboot
在navicat中,新建一个mariadb连接,输入主机localhost,端口3306,帐号密码。
再选择SSH栏,输入你的主机地址,SSH端口(一般默认是22),用户名和验证方法
这样就可以通过SSH中转,访问你的服务器localhost数据库了
新建数据库,如果用来做wordpress,字符集可以选 utf8mb4
然后就可以制作wordpress了
# cd /var/www
# wget https://cn.wordpress.org/latest-zh_CN.zip
# unzip latest-zh_CN.zip
然后把wordpress文件夹改成apache配置的名称即可进行安装
好处是:可以比单纯用apache更快,集合了apache的兼容性和nginx的速度
# apt-get install nginx
nginx的缓存设置
nano /etc/nginx/conf.d/proxy.conf
#*************************************************
# 反向代理参数,具体自行搜索按需配置吧,懒得说明了
proxy_connect_timeout 30;
proxy_read_timeout 60;
proxy_send_timeout 30;
proxy_buffer_size 16k;
proxy_buffers 4 64k;
proxy_busy_buffers_size 128k;
proxy_temp_file_write_size 128k;
client_max_body_size 100m;
# 配置临时目录、缓存路径(注意要先建立这2个目录,要在同一个硬盘分区,注意权限)
proxy_temp_path /var/tmp/nginx/tmp 1 2;
proxy_cache_path /var/tmp/nginx/xlde levels=1:2 keys_zone=xlde:128m inactive=7d max_size=1g;
# keys_zone=xlde:32m 表示这个 zone 名称为 xlde,分配的内存大小为 32MB
# levels=1:2 表示缓存目录的第一级目录是 1 个字符,第二级目录是 2 个字符
# inactive=7d 表示这个zone中的缓存文件如果在 7 天内都没有被访问,那么文件会被cache manager 进程删除
# max_size=1G 表示这个zone的硬盘容量为 1G
#*************************************************
# mkdir /var/tmp/nginx/xlde #建立文件夹
# mkdir /var/tmp/nginx/tmp #建立文件夹
# chmod -R 777 /var/tmp/nginx #权限777
网站参数设置
nano /etc/nginx/sites-available/xl
附本站nginx站点参数
server {
listen 80;
server_name xl.cool www.xl.cool;
rewrite ^(.*)$ https://$host$1 permanent; #将所有http请求通过rewrite重定向到https。
}
server{
listen 443 ssl http2;
server_name xl.cool www.xl.cool;
index index.php index.html;
ssl_certificate /etc/nginx/ssl/xl.cool.pem;
ssl_certificate_key /etc/nginx/ssl/xl.cool.key;
ssl_session_cache shared:SSL:100m;
ssl_session_timeout 10m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4:!DH:!DHE;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_stapling on; #OCSP Stapling 开启,OCSP是用于在线查询证书吊销情况的服务,使用OCSP Stapling能将证书有效状态的信息缓存到服务器,提高 TLS 握手速度
ssl_stapling_verify on; #OCSP Stapling 验证开启
#ssl_trusted_certificate /etc/nginx/ssl/ca-certs.pem; #OCSP Stapling 的证书位置(完整的证书链)
#resolver 127.0.0.1; #用于查询OCSP服务器的DNS
#resolver_timeout 5s; #查询域名超时时间
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains" always;
access_log /var/log/nginx/xl.cool.log;
location / {
proxy_pass https://127.0.0.1:20443;
#proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Referer https://$host;
proxy_ssl_session_reuse on;
}
error_log /var/log/nginx/xl.cool.error.log error;
# 只对图片、js、css 等静态文件进行缓存
location ~* \.(png|jpg|jpeg|gif|ico|js|swf|mp3)$ {
#-------------------------------------
proxy_cache xlde;
proxy_cache_key "$scheme://$host$request_uri";
proxy_cache_valid 200 304 7d;
proxy_cache_valid 301 3d;
proxy_cache_valid any 1m;
#--------------------------------------
#--------------------------------------
proxy_pass https://127.0.0.1:20443;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Referer https://$host;
}
}
SSL证书的位置:/etc/nginx/ssl/
做个链接
ln -s /etc/nginx/sites-available/xl /etc/nginx/sites-enabled
/etc/init.d/nginx restart 重启
SSL测试一下,A+的结果
关于网站环境,手动操作,流程+干货,已经倾囊相授了
可以转载,最好能加个我的链接,谢谢!
若有问题可以留言
无丝竹之乱耳,无案牍之劳形
地球上总还有不羁、奔放的心灵,不管世上发生什么,他们依然孤独而自由着
恶魔流泪的时候,也就是他失去魔力的时候.