相关信息
一、源码编译环境部署
1.1 yarn部署
wget https://dl.yarnpkg.com/rpm/yarn.repo -O /etc/yum.repos.d/yarn.repo
yum install yarn -y
yarn --version
1.2 nodejs 部署
wget https://nodejs.org/download/release/v12.20.0/node-v12.20.0-linux-x64.tar.xz
tar xvf node-v12.20.0-linux-x64.tar.xz
mv node-v12.20.0-linux-x64 /usr/local/nodejs
export NODE_HOME=/usr/local/nodejs
export PATH=$NODE_HOME/bin:$PATH
source /etc/profile
# node -v
v12.20.0
# npm -v
6.14.8
1.3 安装git
yum -y install git
# git version
git version 1.8.3.1
二、pancakeswap 前端源码编译
2.1 下载pancakeswap前端源码
https://github.com/pancakeswap/pancake-frontend/archive/refs/heads/master.zip
unzip master.zip
2.2 编译pancakeswap前端源码
# cd pancake-frontend-master/
# ls
CONTRIBUTING.md crowdin.yml cypress cypress.json doc LICENSE netlify.toml package.json public README.md scripts src static.json tsconfig.json yarn.lock
git init
yarn
# ls
CONTRIBUTING.md crowdin.yml cypress cypress.json doc LICENSE netlify.toml node_modules package.json public README.md scripts src static.json tsconfig.json yarn.lock
npm run build
# ls
build CONTRIBUTING.md crowdin.yml cypress cypress.json doc LICENSE netlify.toml node_modules package.json public README.md scripts src static.json tsconfig.json yarn.lock
三、编译报错解决
3.1 git未安装
Couldn
yum -y install git
3.2 nodejs版本低
error extract-files@9.0.0: The engine "node" is incompatible with this module. Expected version "^10.17.0 || ^12.0.0 || >= 13.7.0". Got "10.12.0"
error Found incompatible module.
- 报错原因:nodejs版本低
- 解决方法:将node升级至符合以下版本即可,个人本次使用版本为:v12.20.0
^10.17.0 || ^12.0.0 || >= 13.7.0
3.3 git没有初始化
fatal: Not a git repository (or any parent up to mount point /opt)
- 报错原因:git安裝后没有初始化
- 解决方法:初始化git
git init
3.4 git无法被找到
.git can
error Command failed with exit code 1.
- git无法被找到
- 解决方法:在源码文件夹路径下初始化git
Initialized empty Git repository in /opt/tools/pancake-frontend-master/.git/
四、部署pancakeswap前端网页
4.1 下载nginx镜像
docker pull nginx:1.17.9
4.2 新建nginx挂载目录
mkdir -p /opt/docker/nginx/{conf,html,logs,cert}
4.3 编写nginx容器启动脚本
/opt/docker/nginx
docker run -itd --restart=unless-stopped \
-v /etc/localtime:/etc/localtime \
-v /etc/timezone:/etc/timezone \
--network=host \
--name nginx \
-v /opt/docker/nginx/html:/usr/share/nginx/html \
-v /opt/docker/nginx/logs:/var/log/nginx \
-v /opt/docker/nginx/cert:/etc/nginx/cert \
-v /opt/docker/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /opt/docker/nginx/conf:/etc/nginx/conf.d \
nginx:1.17.9
docker logs -f nginx
4.4 编写nginx主配置文件
/opt/docker/nginx
worker_processes 4
user nginx
events {
worker_connections 409600
}
http {
include mime.types
default_type application/octet-stream
server_tokens off
autoindex on
autoindex_exact_size off
autoindex_localtime on
keepalive_timeout 65
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 /var/log/nginx/access.log main
error_log /var/log/nginx/error.log error
include /etc/nginx/conf.d/*.conf
}
4.5 將编译好的pancakeswap前端静态页放到nginx项目目录下
# mkdir /opt/docker/nginx/html/pancakeswap -p
# cd /opt/docker/nginx/html/pancakeswap
# cp /opt/tools/pancake-frontend-master/build/* ./ -rf
# ls
asset-manifest.json favicon.ico googlefddf3c367e79f9e2.html images index.html locales logo.png manifest.json _redirects robots.txt static swap.mp3
4.6 编写域名conf文件
/opt/docker/nginx/conf
server {
listen 80
server_name www.pancakeswap.com
rewrite ^ https://$http_host$request_uri? permanent
server_tokens off
}
server {
listen 443 ssl
server_name 127.0.0.1
ssl_certificate /etc/nginx/cert/xxx.com.pem
ssl_certificate_key /etc/nginx/cert/xxx.com.key
ssl_session_timeout 5m
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4
ssl_protocols TLSv1 TLSv1.1 TLSv1.2
ssl_prefer_server_ciphers on
charset utf-8
location / {
root /usr/share/nginx/html/pancakeswap
index index.php index.html index.htm
}
access_log /var/log/nginx/www.pancakeswap.com.log
error_log /var/log/nginx/www.pancakeswap.com.log
}
4.7 启动容器,访问网页