全网最详细的Linux部署教程
Liunx上Nginx部署前后端分离项目(SpringBoot+Vue)
1: 首先常用的Linux连接工具是需要安装的。(Xshell 6,WinSCP)
2: 这种安装我就不再示例了,我把相应的链接放到下面,自行去安装即可。
安装完成后,下面就开始进入正题
1: Jdk1.8的安装: jdk1.8下载地址
链接:https://pan.baidu.com/s/1p9pLKmyUu8nJQC8Cr4CY0A
提取码:m87r
复制这段内容后打开百度网盘手机App,操作更方便哦
考虑到有的同学下载不方便,这是网盘地址(包括windows和linux的)
下载完成后,使用WinSCP工具上传到Liunx服务器上(截图如下:供参考)
Linux:普及几个常用的命令:
pwd 查看当前所在目录
ls 查看当前目录下的所有文件
cd /usr/local 切换到 /usr/local 目录下
tar -zxf xxx文件名 解压xxx文件
mv xxx文件 /usr/local 移动xxx文件到/usr/local 目录
mkdir xxx目录名 创建xxx目录
首先在 /usr/local 目录下新建java目录
1: 切换到 /usr/local 目录 ====> cd /usr/local
2: 新建java目录 ====> mkdir java
解压jdk1.8的安装包
tar -zxf jdk-8u251-linux-x64.tar.gz
vim /etc/profile
添加如下内容:JAVA_HOME根据实际目录来
用vim编辑器来编辑profile文件,在文件末尾添加一下内容(按“i”进入编辑):
添加完成后(先按Esc 再按: 输入wq ,回车即可)
下面截图里面的红圈的是需要配置的
1 export JAVA_HOME=/usr/java/jdk1.8.0_131 //根据自己的实际目录来配置的
2 export JRE_HOME=${JAVA_HOME}/jre
3 export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
4 export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
5 export PATH=$PATH:${JAVA_PATH}
使配置文件生效: source /etc/profile
查看是否安装成功: java -version
2: Redis的安装: Redis下载
下载完解压到Linux服务器上也行
命令行安装
#安装C语言环境(已经安装可跳过)
yum install gcc-c++
#下载压缩包
wget http://download.redis.io/releases/redis-6.0.5.tar.gz
#解压
tar -zxvf redis-6.0.5.tar.gz
#进入解压目录并编译Redis
cd redis-6.0.5
#进行编译
make
#安装Redis
make install PREFIX=/usr/local/redis
PREFIX后面的/usr/local/redis是安装路径,我们启动redis的文件都在这里,也可以自定义。
出现如下提示则安装成功:
make[1]: Entering directory `/root/redis-3.0.6/src'
Hint: It's a good idea to run 'make test' ;)
INSTALL install
INSTALL install
INSTALL install
INSTALL install
INSTALL install
make[1]: Leaving directory `/root/redis-3.0.6/src
#拷贝redis.conf文件
cp -r redis.conf /usr/local/redis/bin/
安装路径下的bin目录结构
好了 现在我们可以输入命令来运行redis了
#开启服务端
./redis-server redis.conf
成功提示如下
#开启新的窗口,运行客户端进行连接
cd /usr/redis/
#链接此redis
./redis-cli 或者 ./redis-cli -h 127.0.0.1 -p 6379
-h:指定主机IP
-p:指定主机端口
默认主机IP是127.0.0.1 默认端口 6379
不填则使用默认值
成功并进行如下测试
但不可能每次都开两个窗口,我们需要配置后台运行;同时我们用程序连接也需要远程连接,接下来我们进行设置。
设置后台运行和远程连接
接下里我们在配置文件redis.conf中进行相关的配置
#打开配置文件
vim redis.conf
设置后台启动 :将第138行的daemonize no修改为daemonize yes即可
开启远程访问 :将第70行的bind注释,第90行将protected-mode改为no
设置密码 : 取消第502行的注释,并修改密码
接下来重启redis:
#首先查询到redis的pid后,kill掉,然后重启
[root@localhost bin]# ps -ef|grep redis
root 20940 1 0 12:12 ? 00:00:18 ./redis-server *:6379
[root@localhost bin]# kill 20940
[root@localhost bin]# ./redis-server redis.conf
后台启动成功如下
3:Mysql的安装 ------------参考我之前写的Mysql安装步骤
4:Nginx的安装 --------
nginx简介:Nginx是⼀款⾼性能的 HTTP 和反向代理服务器
编译安装:
安装gcc编译环境:
yum install -y gcc-c++
1
安装zlib-devel库:
yum install -y zlib-devel
1
安装OpenSSL密码库:
yum install -y openssl openssl-devel
1
安装pcre正则表达式库:
yum install -y pcre pcre-devel
安装nginx:
nginx下载官⽹:http://nginx.org/en/download.html
// 下载安装包, 我下载在/usr/local/nginx
wget http://nginx.org/download/nginx-1.16.0.tar.gz
// 解压
tar -xf nginx-1.16.0.tar.gz
// 创建安装目录,我的目录创建在 /usr/local/nginx
mkdir nginx
// 进入到解压的文件夹内
cd nginx-1.16.0
// 进入到安装包解压文件下执行此命令---配置安装信息,/root/nginx为即将安装的路径、--with-http_ssl_module为支持http模块、--with-http_stub_status_module监控状态模块、--with-pcre正则表达式库
./configure --prefix=/root/nginx --with-http_ssl_module --with-http_stub_status_module --with-pcre
// 进入到安装包解压文件下执行此命令---编译与安装
make && make install
切换到 /usr/nginx/sbin 目录下
cd /usr/local/sbin
启动Nginx
./nginx
查看nginx是否启动
ps -ef|grep nginx
关于Nginx的代理配置(如下)
config: 配置文件的目录
sbin: nginx的启动目录
cd 到config目录下:可以看到nginx.config
是核心的配置文件
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 80; //监听前端Vue的端口号
server_name localhost; //线上的域名
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/local/webapp/dist; //Linux服务器上的Vue页面存放目录
try_files $uri $uri/ /index.html; // 避免页面刷新导致404
index index.html index.htm;
}
location /prod-api/ {
proxy_pass http://xxxxxxxxxxxx:8080/; //请求后台的接口的路径以及端口(Linux上的外网)
}