Ubuntu 16.04服务器的简单配置

  1. 云栖社区>
  2. 博客>
  3. 正文

Ubuntu 16.04服务器的简单配置

过了即是客 2017-12-14 04:14:00 浏览880
展开阅读全文

这几天申请了腾讯云自媒体扶持计划,今天终于通过了,奖励了一张100元的腾讯云服务器代金券,正好我受够了国外服务器卡的蛋疼的连接速度,所以赶快就用了买了一个服务器。不过国内的服务器优点是连接速度快,缺点就是价格太贵了,而且这张代金券貌似不能用来买特价服务器,只能购买两个月的普通服务器。

本来我习惯性的选择windows服务器系统,但是配置了一会我就发现了问题,带图形界面的系统确实比较卡,尤其是在1核1g内存的乞丐版服务器上我仅仅是安装额外功能,cpu和内存就双双飙到了100%。我一看这样不行啊,所以只能关机重新安装了Ubuntu 16.04系统。由于配过好多次搬瓦工了,所以我现在对Linux系统还是比较熟悉的,顺便就来简单谈谈Ubuntu 服务器的配置。

终端程序

首先是使用的终端程序,我觉得MobaXterm是一个很不错的终端,连接之后可以自动保存密码,下次连接的时候直接点击即可。

img_28af38ec94ae842f8ad993e6a5f40ea6.png
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中需要这样设置。


img_f30ffac2c5b5f2583fd703ae5c09b186.png
主动FTP模式

安装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还真不是一件容易的事情。

网友评论

登录后评论
0/500
评论