設置服務器安全組html
受權對象: 0.0.0.0/0, 容許全部ip及端口訪問前端
ssh協議默認端口號: 22, http協議的默認端口號: 80, https協議默認端口號: 443vue
''' 鏈接服務器: ssh root@39.99.156.25 編輯文件: vim ~/.bash_profile, 相似於windows的環境變量 ggdG: 刪除文件中的所有內容 export PATH=$PATH:$HOME/bin PS1='Path:\w\n>:' 從新加載文件: source ~/.bash_profile, [ˈprəʊfaɪl], 輪廓 yum -y update yum -y groupinstall "Development tools" yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel psmisc libffi-devel '''
''' 上傳本地安裝包: scp -r 本地安裝包路徑 root@39.99.156.25:~ 安裝: yum -y install mysql57-community-release-el7-10.noarch.rpm yum -y install mysql-community-server 啓動mysql57並查看啓動狀態: systemctl start mysqld.service systemctl status mysqld.service 查看默認密碼並登陸: grep "password" /var/log/mysqld.log mysql -uroot -p 修改密碼: ALTER USER 'root'@'localhost' IDENTIFIED BY 'Cql123456'; 密碼出現問題: https://www.cnblogs.com/black-fact/p/11613361.html '''
''' 上傳本地壓縮包: scp -r 本地壓縮包路徑 root@39.99.156.25:~ 解壓: tar -xf redis-5.0.5.tar.gz 進入目標文件夾: cd redis-5.0.5 編譯: make 將編譯後的文件夾複製到指定路徑安裝: cp -r ~/redis-5.0.5 /usr/local/redis 修改配置文件: vim /usr/local/redis/redis.conf daemonize yes 創建軟連接: ln -s /usr/local/redis/src/redis-server /usr/bin/redis-server ln -s /usr/local/redis/src/redis-cli /usr/bin/redis-cli 後臺啓動redis: redis-server & 關閉redis服務: pkill -f redis -9 '''
''' 上傳本地壓縮包: scp -r 本地壓縮包路徑 root@39.99.156.25:~ 解壓: tar -xf Python-3.6.7.tar.xz 進入目標文件夾: cd Python-3.6.7 配置安裝路徑: ./configure --prefix=/usr/local/python3 編譯並安裝: make && sudo make install 創建軟連接: ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3.6 /usr/bin/pip3 刪除安裝包和壓縮包 rm -rf Python-3.6.7 rm -rf Python-3.6.7.tar.xz 配置pip源 mkdir ~/.pip cd ~/.pip && vim pip.conf [global] index-url = http://pypi.douban.com/simple [install] use-mirrors =true mirrors =http://pypi.douban.com/simple/ trusted-host =pypi.douban.com '''
''' 在真實環境下安裝: pip3 install uwsgi 創建軟連接: ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi '''
''' 安裝: pip3 install virtualenv pip3 install virtualenvwrapper 編輯文件: vim ~/.bash_profile export WORKON_HOME=~/.virtualenvs # 虛擬環境的存放目錄 export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/python3/bin/virtualenv source /usr/local/python3/bin/virtualenvwrapper.sh # 打開終端自動啓用 從新加載文件: source ~/.bash_profile '''
''' 上傳本地壓縮包: scp -r 本地壓縮包路徑 root@39.99.156.25:~ 解壓:tar -xf nginx-1.13.7.tar.gz 進入目標文件夾: cd nginx-1.13.7 配置安裝路徑: ./configure --prefix=/usr/local/nginx 編譯並安裝: make && sudo make install 創建軟連接: ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx 刪除安裝包和壓縮包 rm -rf nginx-1.13.7 rm -rf nginx-1.13.7.tar.gz '''
''' # ...\luffycity\src\assets\js\settings.js export default { base_url: 'http://39.99.156.25:8000', // 後端url地址 } 將本地項目打包: cnpm run build 上傳打包文件: scp -r 打包文件路徑 root@39.99.156.25:/home/html 備份文件: cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak 編輯文件: vim /usr/local/nginx/conf/nginx.conf ggdG events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 80; server_name 127.0.0.1; charset utf-8; location / { root /home/html; index index.html; try_files $uri $uri/ /index.html; # 解決vue單頁面刷新報錯 } } } 啓動nginx: nginx 關閉nginx: nginx -s stop 更改配置文件後重載nginx: nginx -s reload '''
''' # ...\luffyapi\prod_manage.py ... os.environ.setdefault("DJANGO_SETTINGS_MODULE", "luffyapi.settings.prod_settings") ... # ...\luffyapi\luffyapi\wsgi.py ... os.environ.setdefault("DJANGO_SETTINGS_MODULE", "luffyapi.settings.prod_settings") ... # ...\luffyapi\luffyapi\settings\prod_settings.py ... DEBUG = False ALLOWED_HOSTS = ['39.99.156.25'] ... BACKEND_BASE_URL = 'http://39.99.156.25:8000' # 後端url根路徑 FRONTEND_BASE_URL = 'http://39.99.156.25:80' # 前端url根路徑 ... # drf框架的配置 REST_FRAMEWORK = { 'DEFAULT_RENDERER_CLASSES': [ 'rest_framework.renderers.JSONRenderer', # 'rest_framework.renderers.BrowsableAPIRenderer', ], ..., } ... # 導出項目依賴: pip3 freeze > dependencies.txt # 提交項目到遠程倉庫: git pull rmt_luffyapi master git push rmt_luffyapi master # 在服務器上建立路飛後端項目存放目錄: mkdir /home/project # 將遠程倉庫的路飛後端項目克隆到服務器: cd /home/project && git clone https://gitee.com/cql406454833/luffyapi.git # 在服務器上建立虛擬環境: mkvirtualenv luffyapi # 切換到新建立的虛擬環境: workon luffyapi # 在虛擬環境中安裝項目所需依賴: pip install uwsgi pip install -r /home/project/luffyapi/dependencies.txt 建立並編輯uwsgi配置文件: vim /home/project/luffyapi/luffyapi.xml <uwsgi> <socket>127.0.0.1:8808</socket> <!--uwsgi服務的端口--> <chdir>/home/project/luffyapi/</chdir> <!--路飛後端項目的絕對路徑--> <module>luffyapi.wsgi</module> <!--wsgi文件的相對路徑--> <processes>4</processes> <!--進程數--> <daemonize>uwsgi.log</daemonize> <!--uwsgi日誌文件的相對路徑--> </uwsgi> nginx反向代理: vim /usr/local/nginx/conf/nginx.conf ... http { ... # 新增的server server { listen 8000; server_name 127.0.0.1; charset utf-8; location / { include uwsgi_params; uwsgi_pass 127.0.0.1:8808; # 反向代理本地的8080端口 uwsgi_param UWSGI_SCRIPT luffyapi.wsgi; # uwsgi依賴於wsgi uwsgi_param UWSGI_CHDIR /home/project/luffyapi/; # 路飛後端項目的絕對路徑 } } } 數據庫設置: 管理員登陸: mysql -uroot -pCql123456 建立數據庫: create database luffyapi default charset=utf8; 建立用戶並設置權限: grant all privileges on luffyapi.* to 'cql'@'%' identified by 'Cql123456'; 保存設置: flush privileges; 完成路飛後端項目的數據庫遷移: python /home/project/luffyapi/prod_manage.py migrate 建立admin後臺超級用戶: python /home/project/luffyapi/prod_manage.py createsuperuser nginx動靜分離: 編輯文件: vim /home/project/luffyapi/luffyapi/settings/prod_settings.py STATIC_ROOT = '/home/project/luffyapi/luffyapi/static' STATICFILES_DIRS = (os.path.join(BASE_DIR, "luffyapi", "static"),) 遷移靜態文件: mkdir /home/project/luffyapi/luffyapi/static python /home/project/luffyapi/prod_manage.py collectstatic 編輯文件: vim /usr/local/nginx/conf/nginx.conf ... http { ... server { ... # nginx動靜分離 location /static { alias /home/project/luffyapi/luffyapi/static; } } } # 重啓uwsgi: pkill -f uwsgi -9 uwsgi -x /home/project/luffyapi/luffyapi.xml 更改配置文件後重載nginx: nginx -s reload 錄入數據庫數據: E:\feiqiu\day83 '''