switf服务端环境配置

作者 汪小祯 日期 2017-04-27
switf服务端环境配置

本来想直接java+spring搭服务器环境的,后面觉得这样学的太杂了不好。
就直接用swift+perfect搭服务端好了。以后想做些App,简单的也可以自己写后端。

安装Ubuntu16.04

之前用ubuntu14.04,但是在最后build时候提示要clang 3.6

服务器环境配置

连接服务器

xxx为你服务器的ip地址,接着输入密码。

ssh ubuntu@xxxxxxx

拿到root权限

为了方便以后步骤的进行

sudo -s

##

更新软件包列表

apt-get update

安装依赖库

apt-get install make git clang libicu-dev libmysqlclient-dev libpq-dev sqlite3 libsqlite3-dev apache2-dev pkg-config libssl-dev libsasl2-dev libcurl4-openssl-dev uuid-dev wget

安装MongoDB

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写

cd /usr/src/
wget https://github.com/mongodb/mongo-c-driver/releases/download/1.3.5/mongo-c-driver-1.3.5.tar.gz

解压

gunzip mongo-c-driver-1.3.5.tar.gz

展开源代码

tar -xvf mongo-c-driver-1.3.5.tar

删除档案包

rm mongo-c-driver-1.3.5.tar

在编译 MongoDB 源代码前首先执行配置命令:

cd mongo-c-driver-1.3.5/
./configure --enable-sasl=yes

编译 MongoDB:

make

安装MongoDB

make install

安装swift

当前是swift3.1.1最新版本,具体安装什么版本以官网最新为标准

cd /usr/src/
wget https://swift.org/builds/swift-3.1.1-release/ubuntu1604/swift-3.1.1-RELEASE/swift-3.1.1-RELEASE-ubuntu16.04.tar.gz

安装

gunzip < swift-3.1.1-RELEASE-ubuntu16.04.tar.gz | tar -C / -xv --strip-components 1

删除安装包

rm swift-3.1.1-RELEASE-ubuntu16.04.tar.gz

运行PerfectTemplate

下载

git clone https://github.com/PerfectlySoft/PerfectTemplate

编译

cd PerfectTemplate
swift build

运行

.build/debug/PerfectTemplate --port 80

swift运行环境完成

在你本地的电脑输入即可看到环境已经安装完毕了
http://IP:8080

安装nginx

只是有swift运行环境还不够,自己网站都不好配置,所以接下来安装nginx。

sudo apt-get install nginx

安装完毕后可以输入

sudo lsof -i :80

发现80端口已经被nginx使用了
如果想要配置的话

vim /etc/nginx/sites-available/default

最后网站的目录文件在/var/www/html

安装vsftp

安装ftp

sudo apt-get update
sudo apt-get install vsftpd

新建用户www,把/var/www作为主目录,并设置密码

sudo mkdir /var/www
sudo useradd -d /var/www -s /bin/bash www
sudo passwd www

修改配置文件

sudo vi /etc/vsftpd.conf

添加

#userlist_deny=NO
#userlist_enable=YES
#userlist_file=/etc/allowed_users
seccomp_sandbox=NO
write_enable=YES

如果需要限制用户范围

chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

其中例外的用户(不受限制)在/etc/vsftpd.chroot_list

添加可登陆用户名

sudo vi /etc/allowed_users

输入www然后按esc再输入:wq保存

Ftp完成

现在可以通过ftp连接了。如果不行,重启下服务器

参考文档

Producing an Ubuntu 15.10 Base Image for Swift 3 and Perfect 2