Изучение 26 методов анализа больших данных: часть 1
Изучение 26 методов анализа больших данных: часть 1
Wiki.js - это бесплатное современное вики-приложение с открытым исходным кодом, созданное на Node.js, MongoDB, Git и Markdown. Исходный код Wiki.js публично размещен на Github . Это руководство покажет вам, как установить Wiki.js на свежий экземпляр CentOS 7 Vultr, используя Node.js, MongoDB, PM2, Nginx, Git и Acme.sh.
Требования для запуска Wiki.js следующие:
A/ AAAAзаписи настроеныПроверьте версию CentOS.
cat /etc/centos-release
# CentOS Linux release 7.5.1804 (Core)
Создайте новую non-rootучетную запись пользователя с sudoдоступом и переключитесь на нее.
useradd -c "John Doe" johndoe && passwd johndoe
usermod -aG wheel johndoe
su - johndoe
ПРИМЕЧАНИЕ . Замените johndoeна свое имя пользователя .
Установите часовой пояс.
timedatectl list-timezones
sudo timedatectl set-timezone 'Region/City'
Убедитесь, что ваша система обновлена.
sudo yum update -y
Установите необходимые пакеты, чтобы закончить этот урок.
sudo yum install -y wget curl vim zip unzip bash-completion
Отключить SELinux и Firewall.
sudo setenforce 0
sudo systemctl stop firewalld
sudo systemctl disable firewalld
Включите репозиторий EPEL.
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Репозитории CentOS предоставляют очень устаревшую версию Git, поэтому нам нужно будет собрать Git из исходного кода.
Установите Git, собрав его из исходного кода.
# Remove existing git package if installed:
sudo yum remove -y git
sudo yum groupinstall -y "Development Tools"
sudo yum install -y gettext-devel openssl-devel perl-CPAN perl-devel zlib-devel curl-devel
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.17.1.tar.gz && tar zxvf git-2.17.1.tar.gz
rm git-2.17.1.tar.gz
cd git-2.17.1
make configure
./configure
make prefix=/usr/local all
sudo make prefix=/usr/local install
cd ~
# Confirm this command returns /usr/local/bin/git:
which git
Проверьте версию.
git --version
# git version 2.17.1
Wiki.js требует Node.js 6.9.0 или более поздней версии, поэтому сначала нам нужно установить Node.js.
Установите Node.js, используя репозиторий NodeSource YUM для Node.js.
curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -
sudo yum install -y nodejs
Проверьте версии Node.js и NPM.
node -v && npm -v
# v8.11.2
# 5.6.0
Wiki.js использует MongoDB в качестве движка базы данных. Мы будем использовать официальные репозитории MongoDB , которые содержат самые последние основные и второстепенные выпуски MongoDB.
Установите MongoDB Community Edition.
sudo vim /etc/yum.repos.d/mongodb-org-3.6.repo
# Copy/paste this
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
sudo yum install -y mongodb-org
Проверьте версию.
mongo --version | head -n 1 && mongod --version | head -n 1
# MongoDB shell version v3.6.5
# db version v3.6.5
Включите и запустите MongoDB.
sudo systemctl enable mongod.service
sudo systemctl start mongod.service
Настоятельно рекомендуется поместить стандартный веб-сервер перед Wiki.js. Это гарантирует, что вы можете использовать такие функции, как SSL, несколько веб-сайтов, кэширование и многое другое.
Установите Nginx.
sudo vim /etc/yum.repos.d/nginx_mainline.repo
# Copy/paste this
[nginx]
name=nginx repo
baseurl=https://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
wget https://nginx.org/keys/nginx_signing.key
sudo rpm --import nginx_signing.key
rm nginx_signing.key
sudo yum install -y nginx
Проверьте версию.
nginx -v
# nginx version: nginx/1.15.0
Включите и запустите Nginx.
sudo systemctl enable nginx.service
sudo systemctl start nginx.service
Настройка Nginx как HTTPи HTTPSобратный прокси - сервер для Wiki.js.
Запустите sudo vim /etc/nginx/conf.d/wiki.js.confи заполните его базовой конфигурацией обратного прокси ниже.
server {
listen [::]:80;
listen 80;
server_name wiki.example.com;
root /usr/share/nginx/html;
charset utf-8;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_next_upstream error timeout http_502 http_503 http_504;
}
}
Единственное, что вам нужно изменить в приведенной выше конфигурации - это server_nameдиректива и, возможно, proxy_passдиректива, если вы решите настроить любой другой порт, кроме 3000. Wiki.js использует порт 3000по умолчанию.
Проверьте конфигурацию.
sudo nginx -t
Перезагрузить Nginx.
sudo systemctl reload nginx.service
Защищать вашу вики с помощью HTTPSне обязательно, но это хорошая практика для защиты трафика вашего сайта. Чтобы получить SSL-сертификат от Let's Encrypt, мы будем использовать клиент Acme.sh. Acme.sh - это чистый сценарий оболочки UNIX для получения SSL-сертификатов от Let's Encrypt с нулевыми зависимостями. Это делает его очень легким по сравнению с некоторыми другими клиентами протокола Acme, которым для успешной работы требуется много зависимостей.
Скачать и установить Acme.sh .
sudo mkdir /etc/letsencrypt
git clone https://github.com/Neilpang/acme.sh.git
cd acme.sh
sudo ./acme.sh --install --home /etc/letsencrypt --accountemail your_email@example.com
cd ~
Проверьте версию.
/etc/letsencrypt/acme.sh --version
# v2.7.9
Получите сертификаты RSA и ECDSA для вашего домена / имени хоста.
# RSA 2048
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d wiki.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail your_email@example.com --ocsp-must-staple --keylength 2048
# ECDSA/ECC P-256
sudo /etc/letsencrypt/acme.sh --issue --home /etc/letsencrypt -d wiki.example.com --webroot /usr/share/nginx/html --reloadcmd "sudo systemctl reload nginx.service" --accountemail your_email@example.com --ocsp-must-staple --keylength ec-256
После выполнения вышеуказанных команд ваши сертификаты и ключи будут находиться в следующих каталогах:
/etc/letsencrypt/wiki.example.com/etc/letsencrypt/wiki.example.com_eccПРИМЕЧАНИЕ : не забудьте заменить wiki.example.comна ваше доменное имя.
После получения сертификатов от Let's Encrypt нам нужно настроить Nginx для их использования.
Запустите sudo vim /etc/nginx/conf.d/wiki.js.confснова и настройте Nginx в качестве HTTPSобратного прокси.
server {
listen [::]:443 ssl http2;
listen 443 ssl http2;
listen [::]:80;
listen 80;
server_name wiki.example.com;
root /usr/share/nginx/html;
charset utf-8;
client_max_body_size 50M;
location /.well-known/acme-challenge/ {
allow all;
}
# RSA
ssl_certificate /etc/letsencrypt/wiki.example.com/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/wiki.example.com/wiki.example.com.key;
# ECDSA
ssl_certificate /etc/letsencrypt/wiki.example.com_ecc/fullchain.cer;
ssl_certificate_key /etc/letsencrypt/wiki.example.com_ecc/wiki.example.com.key;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_next_upstream error timeout http_502 http_503 http_504;
}
}
Проверьте конфигурацию.
sudo nginx -t
Перезагрузить Nginx.
sudo systemctl reload nginx.service
Создайте пустую корневую папку с документом, где должен быть установлен Wiki.js.
sudo mkdir -p /var/www/wiki.example.com
Перейдите в корневую папку документа.
cd /var/www/wiki.example.com
Измените владельца /var/www/wiki.example.comпапки на пользователя johndoe.
sudo chown -R johndoe:johndoe /var/www/wiki.example.com
Из /var/www/wiki.example.comпапки выполните следующую команду, чтобы загрузить и установить Wiki.js.
curl -sSo- https://wiki.js.org/install.sh | bash
Вы можете выполнить следующую команду, чтобы просмотреть текущую установленную версию Wiki.js.
node wiki --version
# 1.0.78
После завершения установки вам будет предложено запустить мастер настройки.
Запустите мастер настройки.
node wiki configure
Это уведомит вас, чтобы перейти http://localhost:3000к настройке Wiki.js. Если у вас есть Nginx перед Wiki.js, вы можете открыть свое доменное имя (например http://wiki.example.com) вместо того, чтобы заходить localhost.
С помощью веб-браузера перейдите к http://wiki.example.comинструкциям на экране и следуйте им. Все настройки, которые были введены во время работы мастера настройки, были сохранены в config.ymlфайле. Мастер настройки автоматически запустит Wiki.js для вас.
По умолчанию Wiki.js не запускается автоматически после перезагрузки системы. Чтобы запустить его при загрузке, нам нужно настроить менеджер процессов PM2.
Скажите PM2 настроить себя в качестве службы запуска.
/var/www/wiki.example.com/node_modules/pm2/bin/pm2 startup
Наконец, сохраните текущую конфигурацию PM2, выполнив команду.
/var/www/wiki.example.com/node_modules/pm2/bin/pm2 save
Ваш экземпляр Wiki.js работает как фоновый процесс, используя PM2 в качестве диспетчера процессов. Вы можете перезагрузить свою ОС sudo rebootи убедиться, что Wiki.js запускается после перезагрузки.
Изучение 26 методов анализа больших данных: часть 1
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше