Code Server 配置

ubuntu默认源中的yarn版本太旧,使用会报错,所以要先安装新版本的 yarn :

apt remove cmdtest // 移除旧的 yarn
// 添加新的yarn
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
apt update
apt install yarn
yarn --version

然后用yarn安装code server

apt-get install -y \
  build-essential \
  pkg-config \
  python3
npm config set python python3
yarn global add code-server

这样安装需要花费点时间,快点的方法是在Github下载编译好的压缩文件,解压就能使用

安装或者完成后,配置一个systemd服务来运行code server

创建 /lib/systemd/system/code-server.service 文件,添加如下内容

[Unit]
Description=code-server
After=nginx.service
[Service]
Type=simple
Environment=PASSWORD=your_password
ExecStart=/usr/bin/code-server --bind-addr 127.0.0.1:8080 --user-data-dir /var/lib/code-server --auth password
Restart=always
[Install]
WantedBy=multi-user.target

注意其中的 ExecStart=/usr/bin/code-server …,code-server执行文件的位置,如果是用yarn安装,则命令位置是 /usr/local/bin/code-server,可以使用 where code-server 命令来查看。

» where code-server
/usr/local/bin/code-server

创建好 –user-data-dir 目录

mkdir /var/lib/code-server

Environment=PASSWORD= 改成你要设置的密码

然后配置Nginx反向代理到code server的端口 8080,同时配置好SSL证书

server {
    listen 28080 ssl;
    server_name zuoridangnian.com;
     ssl_certificate /etc/letsencrypt/live/zuoridangnian.com/fullchain.pem;
     ssl_certificate_key /etc/letsencrypt/live/zuoridangnian.com/privkey.pem;
    location / {
      proxy_pass http://localhost:8080/;
      proxy_set_header Upgrade $http_upgrade;
      proxy_set_header Connection upgrade;
      proxy_set_header Accept-Encoding gzip;
    }
}

我这里因为网站用的Apache,所以用Nginx配置的是28080端口,然后打开 https://zuoridangnian.com:28080(记得端口要放行,ufw allow 28080),输入密码就可以进入在线IDE了

然后VS CODE怎么用,这个就怎么用就行了(VSCODE我没怎么用过,现在需要学习一下了),我之前都是本地编辑项目,然后用git同步到VPS,现在可以直接在网页上编辑,方便不少

Ubuntu 20.04 apache开启http2

apt update && apt upgrade
apt install apache2 php7.4-fpm 
a2enmod proxy_fcgi setenvif
a2enconf php7.4-fpm 
a2dismod php7.4 
systemctl restart apache2
a2dismod mpm_prefork 
a2enmod mpm_event 
systemctl restart apache2
systemctl restart php7.4-fpm
a2enmod http2
systemctl restart apache2

干掉2345 任务栏搜索框

莫名其妙发现任务栏多了搜索框,右键看了一下叫taskbarsearch,随即用everything 搜了下taskbarsearch,发现有这么个文件夹

进去后发现有两个文件,taskbarsearch.dll,用Wise Force Deleter(一个强力删除软件,免费)把它两强力删除后就好了。第二天重启后发现又出现了,那两个文件又回来了。

然后我直接把taskbarsearch文件夹权限全部删除,然后就连我自己也打不开这个文件夹了。这下2345也就没办法再弄进去这个东西了

右键文件夹,在安全处,选择编辑,选择用户,在完全控制处选择拒绝就行了

wordpress图片优化插件的选择

新做的主题在谷歌pagespeed上跑了个分,被提示可以优化一下图片,采用webp格式显示图片可以更快,但实际上我用了谷歌pagespeed apache模块,所有的图片好像都是按webp格式加载的

但我还是试了一下两个图片优化插件SmushImagify,两个插件都是默认上传图片自动优化,对比了一下两个插件的优化效果

Smush默认原图不压缩,Imagify则从115kb压缩到43kb,而对比缩略图则也是Imagify压缩的更小,并且Imagify生成了webp格式

因为我也懒得去设置图片优化,所以光从默认设置来看,Imagify能把图片压缩的更下。应该更能节省服务器空间吧!

nodejs连接远程mysql常见问题

Error: connect ETIMEDOUT

应该是mariadb默认只允许本地连接,修改 /etc/mysql/mariadb.conf.d/50-server.cnf 文件

然后将 bind-address 127.0.0.1 改成 0.0.0.0 然后重启mysql

Error: ER_HOST_NOT_PRIVILEGED: Host ‘xxx’ is not allowed to connect to this MariaDB server

这种是你登录的用户只允许本地连接

USE mysql;
SELECT user,host FROM user;

// 这样可以看到你的用户和权限,把localhost改成你的ip或者改成 % 允许所有ip登录

GRANT ALL PRIVILEGES ON *.* TO username@'%' IDENTIFIED BY 'passwd' WITH GRANT OPTION;

上面该权限的代码要注意 用户名 不用加单引号,%要加,密码要加

参见 Configuring database connection results in Error: Host ‘xxxxxxx’ is not allowed to connect to this MySQL server – Atlassian Documentation

wordpress设置邮件服务器

这里用qq邮箱,方便,简单快捷,又不容易被屏蔽

首先安装一个邮箱插件,用的人最多的是WP Mail SMTP

这个插件支持 中文!

然后【发件人】填你的qq邮箱

【邮件程序】选择 其他SMTP

然后下面 【SMTP主机】 设置为 smtp.qq.com

【加密】 选 SSL 【SSL端口】默认 465

下面【自动TLS】【认证】都默认开启

【SMTP用户名】填的qq邮箱

【SMTP密码】 要到你的qq邮箱 【设置】【账户】下面找到【POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务】。开启【IMAP/SMTP服务】,这个时候应该要你验证手机,然后会给你一个独立的密码!填这个密码即可

ubuntu 18.04 安装LAMP

apt-get -y install mariadb-server mariadb-client apache2 php7.2 libapache2-mod-php7.2 php7.2-mysql php7.2-curl php7.2-gd php7.2-intl php-pear php-imagick php7.2-imap php-memcache  php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-mbstring php-gettext  php7.2-opcache php-apcu


mysql_secure_installation

## 新建用户给予权限

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'howtoforge';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit

## certbot 证书

apt-get install software-properties-common
add-apt-repository universe
add-apt-repository ppa:certbot/certbot

apt-get install certbot python3-certbot-apache

certbot --apache

Ubuntu 18.04 (LTS) LAMP server tutorial with Apache, PHP 7.2, and MySQL

Certbot – Ubuntubionic Apache

coding.net变得乱七八糟的

想在上面做一个jekyll站点,发现登陆方式都变了,还要申请团队,进步之后半天找不到pages设置在哪。。我承认我尽力了,不想研究这么个东西了

况且现在github私有仓库也免费了,配合netlify也可以做pages。