Nodejs + vue

  1. Устанавливаем любым доступным способом NodeJS
  2. Устанавливаем vue-cli
    sudo npm install -g vue-cli
  3. С помощью vue-cli разворачиваем приложение:
    vue init webpack chat-vue
  4. Переходим в созданую дирректорию с проектом vuejs и запускаем dev server
    cd chat-vue
    npm run dev

Основные файлы

 

yury@Air:~/Desktop/MyDevApp/WormsChat/chat-vue$ tree -L 1
.
├── README.md
├── build                       # Настройки билда проекта. Dev и Prod версии
│   ├── build.js
│   ├── check-versions.js
│   ├── logo.png
│   ├── utils.js
│   ├── vue-loader.conf.js
│   ├── webpack.base.conf.js
│   ├── webpack.dev.conf.js
│   └── webpack.prod.conf.js
├── config                       # Конфигурационные файлы. Настройки
│   ├── dev.env.js
│   ├── index.js
│   └── prod.env.js
├── index.html                   # Отправной файл всего проекта. Инициализация проекта в div="app"
├── node_modules                 # Тоже самое, что site-packeges в Django
│   ├── ...
├── package-lock.json
├── package.json
├── src                         # Содержит тот проект, который будем писать
│   ├── App.vue                 # Главный компонент, который запускает весь проект
│   ├── assets                  # Дополнительные файлы: css, img, fonts 
│   │   └── logo.png
│   ├── components              # Каждый компонент отвечает за какую то свою логику. Чем то похожи на app в Django
│   │   └── HelloWorld.vue
│   ├── main.js                 # Управляющий файл всем проектом
│   └── router                  # Содержит файл url дл проекта
│       └── index.js
└── static
├── .editconfig                 # Настройки проекта
├── packege.json                # Описание проекта. Установленные пакеты для Dev and Project

Публикация проекта на timeweb

shonline@sabrina:~/virtualenv-15.1.0$ python3 virtualenv.py ~/words.showiproute.ru/venv/ 
cd ~/words.showiproute.ru/
source venv/bin/activate
cd public_html
git clone https://gitlab.com/yuryrun/netmelang.git          
cd netmelang/
(venv) shonline@sabrina:~/words.showiproute.ru/public_html/netmelang$ pip3 install -r requirements.txt

Указываем настройки БД в settings.py

try:
    import pymysql
    pymysql.install_as_MySQLdb()
except ImportError:
    pass

DATABASES = {
	'default': {
	'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
	'NAME': 'xxxx',
	'USER': 'xxxx',
	'PASSWORD': 'yyyy',
	}
}

Создаем БД, посльзователя, делаем коллектстатик

public_html/.htaccess


Options +ExecCGI
AddHandler wsgi-script .wsgi
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.wsgi/$1 [QSA,PT,L]
public_html/index.wsgi

import os
import sys

sys.path.append('/home/s/shonline/words.showiproute.ru/public_html/langmeup/') #путь до проекта django
sys.path.append('/home/s/shonline/words.showiproute.ru/venv/lib/python3.4/site-packages/') # путь до django /home/s/shonline/words.showiproute.ru
os.environ['DJANGO_SETTINGS_MODULE'] = 'langmeup.settings' #app - название проекта django.

import django
django.setup()

from django.core.handlers import wsgi
application = wsgi.WSGIHandler()

Статические файлы положить в корень сайта

/public_html/static/

И указать это в STATIC_ROOT

Подготовка LAMP к хостингу проекта на Django

В данной заметке подготовим LAMP (в нашем случае Linux Apach MySQL Python, но для PHP не сильно отличается) для хостинга проекта на Django.

  • Подготовка сервера
  • VirtualEnv
  • Установка и настройка LAMP
  • Настройка Virtual Host в Apache 2
  • Подготовка директории сайта
  • Настройка клиента (если нет DNS в локальной сети)

(далее…)