一.部署前端
1.1 安装Nginx和node.js
先用xshell连到远程服务器上
新建会话,输入远程地址
点击登录提示符,输入用户名密码
点确定后还会有弹窗点击接受,再次输入用户名和密码连接成功了。
切换目录
cd /usr/local
下载node.js
wget http://nodejs.org/dist/v0.10.18/node-v0.10.18.tar.gz
下载半天都没好,我决定在官网上下好然后上传到服务器
原地解压
tar -xf node-v14.15.4-linux-x64.tar.xz
轻松搞定
进入文件的bin目录下 ./node -v
查看是否成功
下载nginx
经过刚刚的教训我决定还是自己下载再解压,不使用命令行了
网址 https://nginx.org/en/download.html
下载稳定版本
mmp这回换官网下载老是失败了,那就用命令行试试,再不行看看百度网盘上有没有
wget -c https://nginx.org/download/nginx-1.18.0.tar.gz
命令行下载成功了,老规矩解压
tar -zxvf nginx-1.18.0.tar.gz
接下啦要安装nginx所需的环境
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
进入文件夹下新建一个临时目录
cd nginx-1.18.0/ #进入
mkdir /var/temp/nginx -p #先建个临时目录
在目录下直接运行下面命令。
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
运行下面两条命令
make
make install
运行这个命令可以看到“nginx: /usr/local/nginx”说明成功了。
whereis nginx
这时候会生成一个目录,使用下面命令进入
cd /usr/local/nginx
查看文件
ll
修改cong文件夹下的conf.config文件,修改server中的80为8090
运行nginx
cd sbin/
./nginx #运行
使用命令查看进程
netstat -tlnp
由于80端口已经被占用了 所以我修改端口为8090,
到网址上查看,are you ok? 难点就是那块sbin了 我也是在网上找,因为启动ngixn发现根本就没有sbin目录,原来是要下载依赖。然后运行命令才会有那个文件夹。
三级目录
二.部署后端
后端其实就是数据库 jdk了,因为现在springboot都内嵌tomcat,tomcat也不用装,阿里云轻量服务器已经帮我们安装好了mysql,先用navicat远程连接mysql,
2.1 连接mysql
新建一个远程连接
先ssh远程连接服务器
然后再连接数据库
把程序中连接数据库地址换掉
启动下试试,这块容易出错,先把Eureka注册中心地址也改掉然后打包到服务器上运行,eureka没有做集群所以不用改地址,直接localhost代表了远程的远程服务器的地址,直接用maven打包就好了。
先clean(最好都先clean下,其实第一次打包不需要clean的),然后package,IntelijIdea真是让人爱不释手。
打包好后会再target目录下生成一个jar包,用xftp传到服务器上。
上传好了之后敲命令启动jar包
nohup java -jar eureka-server-0.0.1-SNAPSHOT.jar &
&符号代表"一直挂在那",否则一旦关闭xshell等终端就会停掉程序,
想看启动信息就用命令
tail -fn 10000 nohup.out
我的是报错了,因为数据库连接的问题,先不着急这个。
假设启动注册中心成功了,现在就可以去访问了。输入远程ip+注册中心端口号 。因为我的oauth2服务也被我启动了,再加上本地也启动了一个oauth2,所以上面会有两个注册信息。类似于开发的时候,改个后缀名启动就注册到注册中心了。,不加后缀名的就是运行在服务器上的。
回到程序连接数据库的问题上来,启动本地连接数据库的项目,报错,原因是远程mysql不允许java程序连接,去远程上改配置。
解决方式就是修改mysql中的mysql数据库中的user表中的信息,这是安装mysql就会有的
然后还要刷新,xshell连接mysql,直接 mysql -u root
会报错命令找不到,
原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:ln -s /usr/local/mysql/bin/mysql /usr/bin
然后再执行mysql -u root
输入密码就可以了
我刚开测试连数据库时会出现这个问题
Access denied for user ‘root’@‘localhost’ (using password: YES); 我搞了半天,看网上又说要授权什么什么的,其实上面将user表中的localhost改为%已经可以运行其他主机远程访问mysql了,出现这个问题,我的原因时yml配置文件那有问题