Xray+Nginx配置健康上网并快速搭建或迁移搭建博客站点

Snipaste_20220520_151038.jpg

本文涉及的操作都是最基本的操作,本人对于Linux,Docker,Nginx也只是略知一二。文章主要目的还是用于之后要迁移vps快速方便,用于vps被墙或想要更换vps亦或是想搭建blog的小伙伴。

提前准备


  • 刚装完系统的vps菜鸡一枚(本文用了centos8.2系统)
  • 垃圾域名一个
  • Docker基础知识
  • 略懂后端语言基础知识
  • 操作过Linux
  • Xray连接工具V2ray

工具推荐

  • 无敌好用ssh工具Finalshell
  • 数据库操作工具Navicat

健康科学上网的搭建

1. 域名解析,代理cloudflare,这里以namesilo为例

购买域名后,点击域名管理,把原来的域名解析到ip上,或直接交给cloudflare代管理

Snipaste_20220519_112842.jpg

解析域名

Snipaste_20220519_120701.jpg
Snipaste_20220519_115743.jpg

或直接交给cloudflare代管理

Snipaste_20220519_112918.jpg
Snipaste_20220519_121357.jpg

设置好后打开cloudflare 添加站点,一般需要等个几小时才能添加进去

之后添加自己的域名解析保存就行,一开始不用代理。

Snipaste_20220519_121821.jpg
Snipaste_20220519_122126.jpg

2. Xray 基于 Nginx 的 VLESS + XTLS 一键安装脚本链接

          
  • 1
wget -N --no-check-certificate -q -O install.sh "https://raw.githubusercontent.com/wulabing/Xray_onekey/nginx_forward/install.sh" && chmod +x install.sh && bash install.sh

复制黏贴回车就完事了。

Snipaste_20220519_112357.jpg

选1直接安装,等会输入自己申请的域名,就会帮你安装好nginx并配置好nginx和Xray。(提示:弄前ping一下自己的域名看看通不通)

弄好之后复制下vless的链接

Snipaste_20220519_123154.jpg

之后下载下 v2rayN 的客户端。

Snipaste_20220519_135620.jpg

测试下真连接延迟 通了基本就是没问题了。

Snipaste_20220519_135824.jpg

最后右下角自动配置系统代理即可

Snipaste_20220519_140029.jpg


个人blog搭建 (只需科学上网以下内容请勿看)

安装docker

安装docker建议查看 官网脚本安装

配置数据库(mongo)


          
  • 1
docker run -itd --name mongo -p 27017:27017 mongo --auth
          
  • 1
  • 2
  • 3
  • 4
  • 5
$ docker exec -it mongo mongo admin # 创建一个名为 admin,密码为 123456 的用户。 > db.createUser({ user:'admin',pwd:'123456',roles:[ { role:'userAdminAnyDatabase', db: 'admin'},"readWriteAnyDatabase"]}); # 尝试使用上面创建的用户信息进行连接。 > db.auth('admin', '123456')

配好后用navicat连接试一下 然后用navicate导入原有的数据

配置后端接口


代码 https://github.com/dongke404/flask-myblog-api

先直接搞一个Python镜像

          
  • 1
docker pull python

这里优先建了一个文件夹/root/docker_data/python/code方便我上传代码 在创建一个static存上传的图片

Snipaste_20220519_163615.jpg

然后创建容器

          
  • 1
docker run -itd -v /root/docker_data/python/code:/code -v /static:/static --net=host -w /code --name mypython python

代码放入code文件夹里,进入容器去运行

进入容器

          
  • 1
docker exec -it mypython bash

安装包

          
  • 1
pip3 install -r requirements.txt

运行flask

          
  • 1
python manage.py runserver
Snipaste_20220519_161459.jpg

成功监听5000端口,接下来配置下nginx,配置文件/etc/nginx/conf.d/域名.conf

重启下nginx

          
  • 1
nginx -s reload
Snipaste_20220519_161939.jpg

试一个接口,成功返回,基本就是没问题了

Snipaste_20220519_162133.jpg

配置前端代码(Nuxt)


代码 https://github.com/dongke404/nuxt-myblog

由于Nuxt是需要运行在node环境中,所以还需要docker一个node.

优先建了一个文件夹/root/docker_data/node/code方便我上传代码

然后创建容器

          
  • 1
docker run -itd -v /root/docker_data/node/code:/code --net=host -w /code --name mynode node

域名配置在configs api.config.js里配置,然后就把前端代码扔到code里。把包安装好,然后进入到容器里

          
  • 1
docker exec -it mynode bash

注意一下,npm安装node-sass老出错安装不上,建议使用yarn安装

          
  • 1
yarn
          
  • 1
yarn build
          
  • 1
yarn start
Snipaste_20220519_164432.jpg

监听4000端口,这样就没问题了

再配置下nginx

Snipaste_20220519_165047.jpg

          
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
location / { proxy_pass http://localhost:4000; } location /api { proxy_pass http://127.0.0.1:5000; } location ~ .*\.(gif|jpg|jpeg|png|mp4|rmvb|avi|flv|wmv|xml)$ { root /; }

配置后台代码

后台代码比较简陋,有兴趣的可以自己完善。 nginx在加个配置文件

代码 https://github.com/dongke404/vue-myblog-manage

Snipaste_20220520_122946.jpg
          
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
server { listen 80; server_name manage.dongke.xyz; location / { root /root/blogmanage/dist; try_files $uri $uri/ /index.html; } location /api { proxy_pass http://127.0.0.1:5000; } }

cloudflare加个记录

Snipaste_20220520_140912.jpg

然后访问你的后台,账号密码在后端代码里设置

最后重启下nginx,大功告成

最后

下阶段准备用ts写一个博客后台。之后再用nuxt3重写下前端。 刚好今天是520,希望所有程序员工作中少一点bug,更多的时间多多谈恋爱,多多陪老婆

(完)
四大AI工具简单比较
chatGPT3.5 文心一言 通义千问 bingAi华山论剑
2021年终总结
2022元旦快乐
react高阶组件
先做一期粗略理解
将json数据导出成xlsx格式
更多请学习sheetJS
好想躺着赚钱
低保码农撑不住了
北高峰爬山
天下第一财神庙,抽了个签
等待你的评论