服务器选择阿里云的云服务器,硬件配置是1核2G,操作系统是Ubuntu 16.04。
1.nginx的安装配置
用一行命令就可以安装好nginx
sudo apt-get install nginx
如果提示无法定位安装包,就先update一下然后再执行该命令
然后进入配置阶段,这里我计划将静态资源放置在home目录下。
首先进入home目录创建文件夹ctrl_i:
然后利用scp命令将静态资源从本地移动到服务器上的该文件夹内。
接下来就进入具体的配置,首先进入/etc/nginx/site-available,创建一个新的站点配置文件,可以通过拷贝default然后再修改,关键的配置代码如下:
server {
listen 8081 default_server;
listen [::]:8081 default_server;
root /home/zekdot/ctrl_i;
index index.html index.htm index.nginx-debian.html;
server_name _;
error_page 404 /404.html;
location / {
try_files $uri $uri/ =404;
}
}
监听端口为8081,然后定义了静态资源所在位置为"/home/zekdot/ctrl_i"。
然后再进入/etc/nginx/site-enabled中,为刚才的配置文件创建一个链接
sudo ln -s /etc/nginx/sites-available/ctrl_i ctrl_i
配置好之后,重启nginx服务器:
sudo service nginx restart
如果想让外界访问,还需要在控制台的安全组策略中增加一条规则,把8081端口开放出去:
然后可以尝试一下访问网站:
可见现在已经可以成功的访问到服务器上的静态资源了,但是访问后台的数据仍然能需要进一步的配置。
2.数据库的配置
数据库选用mysql,首先需要进行安装,在Ubuntu下只需要三条命令就可以完成安装:
sudo apt-get install mysql-server
apt-get isntall mysql-client
sudo apt-get install libmysqlclient-dev
然后进入/etc/mysql/conf.d来编辑mysql.cnf,修改其编码方式让其支持emoji等4字节字符:
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'
接下来需要进入/etc/mysql/mysql.conf.d,修改mysqld.cnf,注释掉bind-address=127.0.0.1,否则无法从远程登录mysql。
然后重启mysql:
sudo service mysql restart
然后登录数据库客户端创建数据库以及对应的用户,给用户一个何处都可登录的权限便于在远程进行数据的查看:
CREATE DATABASE ctrl_i;
CREATE USER 'cadmin'@'%' IDENTIFIED BY 'xxxxxx';
GRANT ALL PRIVILEGES ON ctrl_i.* TO 'cadmin'@'%';
然后从本地的可视化工具登录到远程数据库,导入已有的数据表:
最后可以看到数据表已经成功导入:
3.SpringBoot项目导出与启动
在pom.xml中添加打包方式为jar包:
</parent>
<packaging>jar</packaging>
<groupId>com.ctrl_I</groupId>
然后Build->Build Artifacts,选择jar包对应的选项,然后Build,将在target文件夹下出现对应的jar包。
将其传送到服务器端,然后在8082端口启动。
java -jar springboot-0.0.1-SNAPSHOT.jar --server.port=8082
此时再访问页面可以看到已经可以成功加载数据了: