运行本地vue项目代码,遇到 Module build failed true is not a PostCSS plugin,
解决方案:
npm uninstall autoprefixer -D
npm install autoprefixer@9.8.6 -D
2.整理数据库导入到服务器在Navicat for MySql 创建查询加载sql数据文件 ,运行后报 out of memory,
解决方案:
在Navicat for MySql数据库左边树状菜单右键 操作的数据库,选择“ 运行sql文件 ”。
3.新建Linux服务器上 ngnix 站点在conf.d 文件夹新建文件, 新文件名 website.com.conf
server {
listen 80;
server_name website.com;
client_max_body_size 100m;
gzip on;
gzip_buffers 32 4K;
gzip_comp_level 6;
gzip_min_length 100;
gzip_types application/javascript text/css text/xml;
gzip_disable "MSIE [1-6]."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
gzip_vary on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
root /website/com;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
ftp连通后不能操作上传 conf 文件,使用Xshell 7 选择协议SSH,端口22,输入账户密码,以 “ sudo chmod -R 777 后面跟上文件路径” ,后续提示依次操作后,解决无权限创建删除移动文件或文件夹的问题,连上ftp一切都好用了!
4.为部署后端站点安装Nodejs模块登录Linux后,原地不动,不跑去其他文件夹,开始安装Nodejs七步操作:
第一步 到nodejs官网 复制 nodejs安装包链接
第二步 执行 wget 安装包链接地址
第三步 解压 tar -vxf 安装包
第四步移动解压文件夹 到指定目录 mv nodejs文件夹路径 /usr/local/node
第五步 修改环境变量
sudo vi /etc/profile
这里如果 vi /etc/profile 不加sudo,可能报错 E212: Can't open file for writing 或 E45: 'readonly' option is set (add ! to override)
接着加入下面的代码
#node
export NODE_HOME=/usr/local/node
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_mudules
然后 退出保存
esc
:wq
这里强调下 :w 是保存 :w!是强制保存 :q是退出 :q!是强制退出
最后输入以下命令保存配置
source /etc/profile
第六步 创建软链接
ln -s /usr/local/node/bin/node /usr/local/bin/node
ln -s /usr/local/node/bin/npm /usr/local/bin/npm
第七步 检查是否安装成功
node -v
v16.XX.0
npm -v
v8.X.X
第八步 保持node项目在后台运行
npm install forever -g
进入项目目录运行
forever start node项目启动文件路径
查看forever 运行的项目
forever list
停止服务
forever stop node项目在forever list中的pid
5.前后端部署联调因为前后端站点虽然部署在相同服务器但没用同一个端口,造成跨域问题
在nodejs代码里 配置跨域模块
app.use(cors({
//允许程序列表
origin:["http://website.com"],
credentials:true,
}))
6. Linux 重启 nginx
由于后端端口 3000 不能放外网访问,在 nginx 里面配置反向代理,这么一来前后端兼容跨域问题就不存在。
server {
listen 80;
server_name website.com;
client_max_body_size 100m;
gzip on;
gzip_buffers 32 4K;
gzip_comp_level 6;
gzip_min_length 100;
gzip_types application/javascript text/css text/xml;
gzip_disable "MSIE [1-6]."; #配置禁用gzip条件,支持正则。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
gzip_vary on;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
location / {
root /website/com;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /api/ {
proxy_pass http://localhost:3000/;
}
}
执行重启 nginx 命令
nginx -s reload
因为连接账户没有权限导致如下报错:
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges
换上以下命令
sudo nginx -s reload
提示输入账户密码,重启成功。



