vps 初始化
08 Jun 2018我一般喜欢用ubuntu 14.04或16.04,通常的初始化动作如下:
修改hostname
修改/etc/hosts 和 /etc/hostname 两个文件,起一个好记的名字,再reboot
修改时区
timedatectl set-timezone Asis/Shanghai
确认防火墙状态
sudo ufw status
工具
apt-get install mosh
apt-get install screen
jre
apt-get install default-jre
nginx
apt-get install nginx
nginx缺省没有完全开放gzip(只对html压缩),修改/etc/nginx/nginx.conf,gzip相关的配置修改为:
gzip on;
gzip_disable "msie6";
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss application/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon;
然后service nginx restart,配置好每个virtual server后 ln -s /etc/nginx/sites-available/xxx /etc/nginx/sites-enabled/
重新加载配置,可以不用restart,只需要reload,也可以用systemctl命令 systemctl reload nginx
cerbot
用于自动续期Letsencrypt的证书,
先安装,其中python3-pyasn1是为了规避执行中的一个告警,安装完之后就会自动添加到/etc/cron.d。
add-apt-repository ppa:certbot/certbot
apt update
apt install python-certbot-nginx
apt install python3-pyasn1
确认nginx已经配置好server block,就可以执行了, cerbot可以同时处理多个域名。
certbot --nginx -d sub1.xxx.com -d sub2.xxx.com
回答完向导就可以了,并且似乎nginx不需要reload即可生效,需要添加域名的化,可以用–expand,需要带上以前的老域名
certbot --nginx --expand -d sub1.xxx.com -d sub2.xxx.com -d sub3.xxx.com
续期可以直接 certbot renew,当然正常情况下应该不需要手动执行,因为安装时应该已经设置好了cron或timer,比如
systemctl list-timers
mariadb
apt-get install mariadb-server
mysql_secure_installation
install之后mariadb应该自动运行起来,mysql_secure_installation是一个向导可以帮助解决缺省情况不安全的mysql配置,建议执行一下。
注意1: 高版本的mysql和mariadb的root的密码验证方式修改了,导致jdbc不兼容,需要使用mysql命令行改一下:
update mysql.user set plugin = 'mysql_native_password' where User='root';
FLUSH PRIVILEGES;
注意2:如果mariadb安装出错,比如script return -1之类的,可以先删除所有mysql组件:
apt remove --purge mysql*
apt remove --purge mariadb*
apt autoremove
apt autoclean
再重新安装,如果还不行,试试reboot
参考
digitalocean网站上有很多文档,写的很好,值得一看。