现时代身为一名前端工程师,配置服务器、部署线上项目等技能是必不可少的。
参考文档
配置步骤
基本配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| ssh -p 22 root@47.104.223.131
sudo vi /etc/hostname 改为: LeeJs
sudo vi /etc/hosts 添加: 127.0.1.1 LeeJs
reboot
sudo apt update apt list --upgradable
lsb_release -a uname -a cat /proc/version
|
** ⚠️ 注:以下命令已打包至 install.sh **
安装yum(不需要)
安装 ruby(不需要)
安装 LinuxBrew(不需要)
1
| sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
|
安装 screen
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| apt install screen
which screen
screen -v
screen -ls
screen -S qf_backend
screen -x -d qf_backend/PID
screen -r qf_backend/PID ctrl + r ==> 输入PID
screen -R qf_backend/PID
screen -X -S PID quit
|
安装 git
安装 pyenv
1 2 3 4 5 6 7 8 9 10 11 12
| sudo curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
sudo vi ~/.bashrc
export PATH="/root/.pyenv/bin:$PATH" eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)"
source ~/.bashrc
|
安装「 python 所需依赖包 」
1
| apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline6 libreadline6-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev zlib*
|
- ERROR: The Python ssl extension was not compiled. Missing the OpenSSL lib?
1
| apt install libbz2-dev libssl-dev libsqlite3-dev libreadline6 libreadline6-dev
|
通过 pyenv 安装 python
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| wget http://mirrors.sohu.com/python/3.6.5/Python-3.6.5.tar.xz -P ~/.pyenv/cache/
cd ~/.pyenv/cache/
pyenv install --list
pyenv install 3.6.5 -v
pyenv rehash
pyenv versions
git clone git://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
pyenv virtualenv 3.6.5 qf_admin_3.6.5
pyenv activate qf_admin_3.6.5
pyenv deactivate
pyenv local 3.6.5
rm -rf ~/.pyenv/versions/test3.7.3/
|
安装 mysql
- 如何在Ubuntu 16.04下安装MySQL
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| apt install mysql-server apt install mysql-client apt install libmysqlclient-dev
netstat -tap | grep mysql
mysql -uroot -p
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
service mysql restart
|
安装 nginx
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| apt install nginx
whereis nginx
sudo nginx -t
cat /etc/nginx/nginx.conf
nginx
nginx -s reload
|
配置 HTTPS 443
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
| You're accessing the development server over HTTPS, but it only supports HTTP.
# 安装 pyOpenSSL(测试时用) pip install pyOpenSSL
# 以 https 方式启动 django(测试专用) python manage.py runserver_plus --cert cert.crt 0.0.0.0:23480
--------------------------------
# SSL 证书 阿里云:https://yundunnext.console.aliyun.com/?spm=5176.2020520163.aliyun_sidebar.daliyun_sidebar_cas.5f3956a7FAnrMY&p=cas#/overview/cn-hangzhou 下载并解压后放在:/etc/nginx/certificate/
# nginx https 配置 server { listen 443; server_name www.lee521.top; ssl on; root html; index index.html index.htm; ssl_certificate /etc/nginx/certificate/2501940_lee521.top.pem; ssl_certificate_key /etc/nginx/certificate/2501940_lee521.top.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; location / { root html; index index.html index.htm; } location ~ /api { proxy_pass http://127.0.0.1:23480; } location ~ /doc { proxy_pass http://127.0.0.1:23480; } location ~ /static { proxy_pass http://127.0.0.1:23480; } } # 配置成功 ! https://www.lee521.top/doc/ https://www.lee521.top/api/system/system_user/
|
配置前端
1 2 3 4 5
| server { listen 10086; server_name localhost; root /root/www/vue-element-admin/dist/; }
|
打包 install.sh 脚本文件
==执行 source ~/.bashrc 会出错,提示 source not found,可以分两批执行==
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| sudo apt update apt list --upgradable
sudo apt install yum
sudo apt install ruby sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
sudo apt install screen sudo apt install git
rm -rf ~/.pyenv/ sudo curl -L https://raw.githubusercontent.com/yyuu/pyenv-installer/master/bin/pyenv-installer | bash
sed -i '1i export PATH="/root/.pyenv/bin:$PATH"' ~/.bashrc sed -i '2i eval "$(pyenv init -)"' ~/.bashrc sed -i '3i eval "$(pyenv virtualenv-init -)"' ~/.bashrc
source ~/.bashrc
sudo apt install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev
wget http://mirrors.sohu.com/python/3.6.5/Python-3.6.5.tar.xz -P ~/.pyenv/cache/
pyenv install 3.6.5 -v
pyenv rehash
git clone git://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv
pyenv virtualenv 3.6.5 custom_3.6.5
pyenv versions
|
新版项目启动代码
1
| gunicorn -c ./gunicorn-config.py backend.wsgi
|
祝君无Bug~