我用的工具:Xshell7 和 Xftp7
首先要准备一个云服务器,然后将vue代码文件打包成dist文件
nginx的安装和配置(linux系统)
我参考的是这个网站www.runoob.com/linux/nginx…
首先得用Xshell7成功连接云服务器!!!
一、安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
二、首先要安装 PCRE
PCRE 作用是让 Nginx 支持 Rewrite 功能。
1、下载 PCRE 安装包,下载地址: downloads.sourceforge.net/project/pcr…
软件一般都安装在 /usr/local/src 下
[root@bogon src]# cd /usr/local/src/
[root@bogon src]# wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
2、解压安装包:
[root@bogon src]# tar zxvf pcre-8.35.tar.gz
3、进入安装包目录
[root@bogon src]# cd pcre-8.35
4、编译安装
[root@bogon pcre-8.35]# ./configure
[root@bogon pcre-8.35]# make && make install
5、查看pcre版本
[root@bogon pcre-8.35]# pcre-config --version
三、安装nginx
1、下载 Nginx,下载地址:nginx.org/en/download…(版本自己选)
[root@bogon src]# cd /usr/local/src/
[root@bogon src]# wget http://nginx.org/download/nginx-1.18.0.tar.gz
2.解压安装包
[root@bogon src]# tar zxvf nginx-1.18.0.tar.gz
3、进入安装包目录
[root@bogon src]# cd nginx-1.18.0
4、编译安装
[root@bogon nginx-1.18.0]# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
[root@bogon nginx-1.18.0]# make
[root@bogon nginx-1.18.0]# make install
5、查看nginx版本
[root@bogon nginx-1.18.0]# /usr/local/webserver/nginx/sbin/nginx -v
四、配置nginx
1.使用Xftp7 连接百度云
2.将dist文件夹拖入/usr/local/webserver/nginx/html文件夹下
3.配置nginx.conf文件
在/usr/local/webserver/nginx/conf 文件夹中找到 nginx.conf文件,右击选择记事本编辑
切记,一定要用英文模式下的分号!!!
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
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;# 前端代码运行在公网的端口号
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /usr/local/webserver/nginx/html/dist;#root指定了/对应的单页静态资源目录,这个配置可以让你的css,js被顺利加载;当nginx找不到客户端资源会返回一个404页面
index index.html;
try_files $uri $uri/ /index.html; # 解决history模式下刷新404问题
#语法:try_files 【$uri】 【 $uri/】 【参数】
#当用户请求https://manage.test.com/login时,
#一.如果配置了上面的默认index,会依次请求
#1./usr/local/webserver/nginx/html/dist/login 查找有没有login这个文件,没有的话
#2./usr/local/webserver/nginx/html/dist/index.html 有就直接返回
#二.如果没有配置了上面的默认index或者配置了没有找到对应的资源,会依次请求
#1./usr/local/webserver/nginx/html/dist/login 查找有没有login这个文件,没有的话
#2./usr/local/webserver/nginx/html/dist/login/ 查找有没有login这个目录,没有的话
#3.请求/usr/local/webserver/nginx/html/dist下的index.html nginx内部通过 try_files 做了一个子请求
# 总结:
# try_files 这话的意思是试着去访问一下当前浏览所请求的页面
# $uri 当前请求的路径 如果找到就返回
# $uri/ 把当前请求的路径当成一个目录去找下面的文件如果找到了就返回
# /index.html 如果上面两个都没有找到就直接返回 index.html
\
}
#对 "/api" 启用反向代理
location /api {
proxy_set_header Host $host; #header添加请求host信息
proxy_set_header X-Real-IP $remote_addr;# header增加请求来源IP信息
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;# 增加代理记录
proxy_pass http://127.0.0.1:8080; # 代理地址,这是我后端接口在服务器上的地址(用公网ip应该也行)
}
###
#下面一块是压缩文件,可以不写
gzip on;
gzip_buffers 32 4k;
gzip_comp_level 6;
gzip_min_length 200;
gzip_types text/css text/xml application/javascript;
gzip_vary on;
#压缩文件模块截止的地方,下面也不用管
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
#以下部分不用管
......
......
......
}
编辑完成后ctrl + s 保存文件
4.启动nginx
/usr/local/webserver/nginx/sbin/nginx
此时在网址栏输入公网ip应该就能访问到你的前端页面啦(如果不是部署在80端口上的话,公网ip后面记得加上你部署的端口号喔)
停止nginx的命令
/usr/local/webserver/nginx/sbin/nginx -s stop
其他命令
/usr/local/webserver/nginx/sbin/nginx -s reload # 重新载入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen # 重启 Nginx
chkconfig iptables off # 关闭防火墙
/usr/local/webserver/nginx/sbin/nginx -t # 检查配置文件nginx.conf的命令
5.如果不能访问,记得设置一下云服务器的安全组规则,不懂得可以百度喔
安装nodejs
在有epel源的前提下,可以直接直接指定nodejs版本安装。没有就先安装下
yum install epel-release
不清楚版本和安装指令可以查看这个node源码(二进制发行版)文档,它对应不同的平台都有具体说明github.com/nodesource/… 拉到最下方找到run on CentOS 那一块儿
# 先设置要安装的版本
curl -sL https://rpm.nodesource.com/setup_14.x | bash -
# 安装
yum install nodejs -y
# 完成后查看下node版本
node -v
# 显示是v14.15.1,成功!
安装express
推荐全局安装
npm -g install express
mysql的安装和配置
1.进入 /usr/local文件夹
cd /usr/local
2.安装mysql
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
3.解压mysql
tar xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
4.更改文件夹名称
mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql-8.0
5.创建data文件夹 存储文件
cd mysql-8.0
mkdir data
6.创建用户组以及用户和密码
groupadd mysql
useradd -g mysql mysql
7.授权用户
chown -R mysql.mysql /usr/local/mysql-8.0
8.进入bin目录下,初始化基础信息
cd bin
./mysqld --user=mysql --basedir=/usr/local/mysql-8.0 --datadir=/usr/local/mysql-8.0/data/ --initialize
9.编辑my.cnf文件
vi /etc/my.cnf
打开后里面是空白,将以下代码复制进去即可(按 i 进入编辑模式,Esc 退出编辑模式,退出编辑模式后 :wq 保存 ) 若想要了解详细配置,可参考blog.csdn.net/weixin_4466…
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql-8.0
datadir=/usr/local/mysql-8.0/data/
socket=/tmp/mysql.sock
log-error=/data/mysql/mysql.err
pid-file=/data/mysql/mysql.pid
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
#lower_case_table_names=1
10.添加mysql服务到系统
cd ../ #回到mysql-8.0目录下
cp -a ./support-files/mysql.server /etc/init.d/mysql
11.授权以及添加服务
chmod +x /etc/init.d/mysql
chkconfig --add mysql
12.启动mysql
service mysql start
13.查看启动状态
service mysql status
14.将mysql命令添加到服务,建立软连接
ln -s /usr/local/mysql-8.0/bin/mysql /usr/bin
15.获取临时密码
cat /data/mysql/mysql.err
复制临时密码,若最后一个字符是.也要复制上去
16.登录mysql
mysql -uroot -p
将复制的密码粘贴上去,粘贴上去的密码不会显示出来的,粘贴好直接回车就行
如果有如下报错,
Can 't connect to local MySQL server through socket '/tmp/mysql.sock '(2) ";
可以去/tmp目录下新建一个mysql.sock文件夹(注意/tmp 和 /usr 是平级目录,都在根目录中)
17.登陆成功后修改密码,其中123456是新的密码自己设置(推荐123456,好记)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
18.执行 使密码生效
flush privileges;
19.选择 mysql 数据库
use mysql;
20.修改远程连接并生效
update user set host='%' where user='root';
flush privileges;
21.至此就可以在自己的电脑上尝试连接云服务器的数据库啦 以navicat 为例,ip地址填公网ip
结尾
如果有小伙伴是手动编译安装的nodejs的话,执行./configure命令可能会报错: ./configure: line 7: exec: python: not found 建议参考 blog.csdn.net/weixin_3125…
安装完后执行./configure命令应该还会报错: ModuleNotFoundError: No module named '_bz2' 建议参考 blog.csdn.net/u014589856/…