从购买服务器到项目部署全流程

3/6/2021 服务器vuejavamysql

# 前期准备


  • 💰 当然是用来买服务器啊
  • Termius ✅ 「MacOS软件-用于连接到服务器」
  • Navicat Premium ✅ 「全平台软件-用于连接数据库」
  • Visual Studio Code ✅ 「全平台软件-yyds」
  • 完成的前端项目「vue」
  • 完成的后端项目「JFinal」

# 购买服务器


这是我购买的第三台云服务器了,有了前两次的摸爬滚打,这次总算顺利不少
服务器选的阿里云的学生机,比腾讯的便宜不知道多少,一年才96 💰,一共优惠了1644 💰! 配置选的是「Ubuntu 18.04-1核2G」的版本 image.png

# 配置服务器


服务器整到手后先配置远程连接的密码,然后用「Termius」连上服务器,开始进行配置 安装nginx反代工具

sudo apt-get install nginx  # 安装nginx

nginx的基本操作

/etc/init.d/nginx start #启动
/etc/init.d/nginx reload #重启
/etc/init.d/nginx stop #停止

sudo service nginx start    # 启动
sudo service nginx reload   # 重载
sudo service nginx restart  # 重启
sudo service nginx stop     # 停止

sudo /usr/local/nginx/sbin/nginx -v  # 查看版本
sudo /usr/local/nginx/sbin/nginx     # 启动
sudo /usr/local/nginx/sbin/nginx -s stop   # 停止
sudo /usr/local/nginx/sbin/nginx -s reload # 重启

由于这次配置的是基于vue的单页面应用,所以要对nginx进行配置修改
在本地新建一个 eta_vue.conf 文件,写入以下内容

server {
    #服务启动时监听的端口
    listen 80 default_server;
    listen [::]:80 default_server;
    #服务启动时文件加载的路径
    root /var/www/html/eta_vue;
    #默认加载的第一个文件
    index index.php index.html index.htm index.nginx-debian.html;
    #页面访问域名,如果没有域名也可以填写_
    server_name www.632891553.xyz;

    location / {
        #页面加载失败后所跳转的页面
        try_files $uri /index.html;
    }
    
      
    #以下配置只服务于php
    # 将PHP脚本传递给在127.0.0.1:9000上监听的FastCGI服务器
    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        # With php7.0-cgi alone:
        #fastcgi_pass 127.0.0.1:9000;
        # With php7.0-fpm:
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
    }

    # 如果Apache的文档为root,则拒绝访问.htaccess文件
    location ~ /\.ht {
        deny all;
    }
}

通过「Termius」的SFTP将上面的文件放入服务器的 /etc/nginx/conf.d 路径下
并将 /etc/nginx 下的 nginx.conf 文件中最后一行的默认配置注释掉(如下图)
image.png
修改完成后重启一次nginx
将打包好的前端项目放入 /var/www/html/eta_vue 文件夹下
进入浏览器,地址栏输入服务器ip,能看到前端页面就算配置好了

# 安装数据库


数据库安装很方便只,需要以下几条命令

sudo apt-get install mysql-server

apt-get install mysql-client

sudo apt-get install libmysqlclient-dev

安装好后用下面的命令来初始化安全设置

mysql_secure_installation

会询问是否执行以下几步操作,为了方便之后数据库管理,先选择开放远程登陆许可

  • 为root用户设置密码

  • 删除匿名账号「是」

  • 取消root用户远程登录 「否」

  • 删除test库和对test库的访问权限 「是」

  • 刷新授权表使修改生效 「是」

# 连接数据库


连接数据库前要先检查下3306端口是否可用 附上教程 (opens new window)
教程中一些关于「vim」的操作可用参考我的另一篇指南 Vim 基础
端口开启后千万要记得去阿里云控制台开启3306端口!!「我在这里浪费了将近2个小时🥲 」 image.png

# 部署后端


首先利用 apt-get 指令快速安装好 jdk1.8 然后把打包好的后端项目上传至服务器 /home/cxxy 目录下
解压文件

cd /home/cxxy/
tar -zxvf ETA6-release.tar.gz

修改解压出来的文件里的数据库配置、undertow端口号
启动项目

 cd /home/cxxy/ETA6
 ./start.sh start

关闭项目「重新部署前建议先关闭」

 cd /home/cxxy/ETA6
 ./stop.sh stop

# 解决跨域


作为前后端分离项目,跨域问题必须克服
首先修改后端项目运行的端口「默认的80端已经被nginx占用了」
服务器 /home/cxxy/ETA6 目录下,修改 undertow.txt