这几天申请了腾讯云自媒体扶持计划,今天终于通过了,奖励了一张100元的腾讯云服务器代金券,正好我受够了国外服务器卡的蛋疼的连接速度,所以赶快就用了买了一个服务器。不过国内的服务器优点是连接速度快,缺点就是价格太贵了,而且这张代金券貌似不能用来买特价服务器,只能购买两个月的普通服务器。
本来我习惯性的选择windows服务器系统,但是配置了一会我就发现了问题,带图形界面的系统确实比较卡,尤其是在1核1g内存的乞丐版服务器上我仅仅是安装额外功能,cpu和内存就双双飙到了100%。我一看这样不行啊,所以只能关机重新安装了Ubuntu 16.04系统。由于配过好多次搬瓦工了,所以我现在对Linux系统还是比较熟悉的,顺便就来简单谈谈Ubuntu 服务器的配置。
终端程序
首先是使用的终端程序,我觉得MobaXterm是一个很不错的终端,连接之后可以自动保存密码,下次连接的时候直接点击即可。
更新系统
新系统安装好第一件事情自然就是更新系统了。
sudo apt update
sudo apt upgrade
安装Python3.6
Ubuntu 16.04官方Python还是3.5,所以需要安装个人的PPA,下面有两个选择。速度看情况吧,我这里第一个比较快。
sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6
# 或者
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6
如果需要安装python 3.6对应的pip,可以用下面的命令。
curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6
有时候需要编译一些python包,还需要安装Python的开发文件。
sudo apt instapp python3.6-dev
安装PostgreSQL
虽然以前我一直都是用MySQL,但是现在我觉得PostgreSQL更加好用。而且Ubuntu的安装脚本会自动初始化PostgreSQL数据库文件夹,不需要我们手动用命令初始化。
sudo apt install postgresql
# 开机自启服务
sudo systemctl enable postgresql
# 更改PostgreSQL管理员密码
sudo passwd postgres
安装FTP服务器
首先安装FTP服务器vsftpd。
sudo apt install vsftpd
sudo systemctl enable vsftpd
然后编辑配置文件/etc/vsftpd.conf
。
# 允许上传文件
write_enable=YES
# 让用户拥有文件权限
chown_uploads=YES
chown_username=ubuntu
如果使用FTP服务连接之后出现连接成功但是无法列出服务器目录的情况,需要设置客户端的模式为主动模式。例如在FileZilla中需要这样设置。
安装nginx
nginx的性能不错,使用也越来越广泛,这里来就来安装nginx。
sudo apt install nginx
sudo systemctl enable nginx
然后编辑配置文件sudo nano /etc/nginx/sites-enabled/default
,将网站文件目录设置为自己的。配合前面设置的FTP设置,可以让持续集成服务在检测到我们代码发生更改之后,自动拉取代码编译,然后上传到服务器,然后由nginx想外网提供访问。
server {
listen 80 default_server;
listen [::]:80 default_server;
root /home/ubuntu/www/mine;
}
使用HTTPS
默认的HTTP不够安全,而且腾讯云提供了个人免费的一年证书,非常方便。从这里申请一个新的证书,验证通过之后,下载证书并上传到服务器中,然后重新配置一下nginx即可。需要注意腾讯云上面那个rewrite ^(.*) https://$host$1 permanent;
的办法是针对旧版本nginx的,现在的nginx不能用这种,应该用下面这种方法,也就是弄两个server节点,让80的直接用301重定向到443的那个。
server {
listen 80 default_server;
listen [::]:80 default_server;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
ssl on;
ssl_certificate /opt/nginx/ssl/yitian253.cn_bundle.crt;
ssl_certificate_key /opt/nginx/ssl/yitian253.cn.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
root /home/ubuntu/www/mine;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
}
最后,我将自己的一个简单网站放到了腾讯云的服务器上。由于腾讯云服务器默认的带宽非常小,我将网站的几张图片放到了腾讯云的对象存储上,并用CDN加速,测试了一下,速度非常满意。这里是我的网站https://yitian253.cn,一个用Vue做的静态网站,总共三个页面。网站首页三张大图片,不过访问速度并不慢。一开始由于没给CDN资源加HTTPS,结果好不容易弄出来的安全标志又没了,看来想好好用HTTPS还真不是一件容易的事情。