Изучение 26 методов анализа больших данных: часть 1
Изучение 26 методов анализа больших данных: часть 1
Firefox Sync - это функция синхронизации браузера, которая позволяет вам обмениваться данными и настройками (такими как закладки, история, пароли, открытые вкладки и установленные надстройки) на всех ваших устройствах. Mozilla также предлагает приложение «сервер синхронизации» для использования с Firefox Sync для пользователей и предприятий, которые предпочитают размещать свои собственные данные синхронизации. В этой статье рассказывается, как настроить Mozilla Sync Server.
Обновите систему:
sudo yum check-update
Для сборки и запуска Sync Server вам необходимо установить следующие пакеты:
Mecurialsqlite3gitPython 2.6.6Python 2.6.6 virtualenvPython 2.6.6 SetupToolsPython 2.6.6 Developer ToolsУстановите последнюю версию Mercurial:
sudo yum install mercurial
Установите необходимые средства разработки и библиотеки:
yum groupinstall 'Development Tools' 'Development Libraries'
yum install tk-devel libjpeg-devel mysql-devel python-devel httpd-devel zlib-devel bzip2-devel
Установите SQLite3:
sudo yum install sqlite
Установите и соберите Python 2.6.6:
cd $home
sudo wget http://python.org/ftp/python/2.6.6/Python-2.6.6.tgz
sudo tar xzvf Python-2.6.6.tgz
cd $home/Python-2.6.6
sudo ./configure --prefix=/opt/python2.6 --enable-thread --enable-shared --enable-unicode=ucs4
sudo make
sudo make install
Мы клонируем Git-репозиторий сервера синхронизации и затем войдем в папку:
git clone https://github.com/mozilla-services/syncserver
cd syncserver
Запустите команду сборки, которая загрузит зависимости и скомпилирует код:
make build
Запустите сервер синхронизации и убедитесь, что он работает правильно:
bin/paster serve development.ini
Вы увидите что-то вроде этого:
Starting server in PID 5952.
serving on 0.0.0.0:5000 view at http://127.0.0.1:5000
Конфигурация сервера синхронизации очень проста, в файле конфигурации нужно изменить только несколько параметров ( ./syncserver.ini).
Откройте файл конфигурации в вашем любимом текстовом редакторе (например nano ./syncserver.ini).
[server:main]
use = egg:gunicorn
host = 0.0.0.0
port = 5000
workers = 1
timeout = 30
[app:main]
use = egg:syncserver
[syncserver]
# This must be edited to point to the public URL of your server,
# i.e. the URL as seen by Firefox.
public_url = http://localhost:5000/
# This defines the database in which to store all server data.
#sqluri = sqlite:////tmp/syncserver.db
# This is a secret key used for signing authentication tokens.
# It should be long and randomly-generated.
# The following command will give a suitable value on *nix systems:
#
# head -c 20 /dev/urandom | sha1sum
#
# If not specified then the server will generate a temporary one at startup.
#secret = INSERT_SECRET_KEY_HERE
# Set this to "false" to disable new-user signups on the server.
# Only request by existing accounts will be honoured.
# allow_new_users = false
# Set this to "true" to work around a mismatch between public_url and
# the application URL as seen by python, which can happen in certain reverse-
# proxy hosting setups. It will overwrite the WSGI environ dict with the
# details from public_url. This could have security implications if e.g.
# you tell the app that it's on HTTPS but it's really on HTTP, so it should
# only be used as a last resort and after careful checking of server config.
force_wsgi_environ = false
[browserid]
# Uncomment and edit the following to use a local BrowserID verifier
# rather than posting assertions to the mozilla-hosted verifier.
# Audiences should be set to your public_url without a trailing slash.
#backend = tokenserver.verifiers.LocalVerifier
#audiences = https://localhost:5000
# By default, syncserver will accept identity assertions issues by
# any server. You can restrict this by setting the below to a list
# of allowed issuer domains.
#allowed_issuers = www.mysite.com myfriendsdomain.org
Адрес вашего сервера должен быть указан через параметр public_url:
public_url = http://fsync.example.com
Примечание : значение по умолчанию public_url, http://localhost:5000/будет работать для целей тестирования на локальном компьютере.
Мы раскомментируем sqluriопцию и введем местоположение, или URI, что позволит серверу подключиться к базе данных и сохранить ее информацию:
sqluri = sqlite:////path/to/database/file.db
Если вы хотите использовать другой тип БД:
sqluri = pymysql://username:password@db.example.com/sync
Для secretпараметра нам потребуется сгенерировать секретный ключ для токенов аутентификации:
head -c 20 /dev/urandom | sha1sum
Раскомментируйте строку секретного параметра, а затем скопируйте / вставьте возвращенную строку в секретный параметр:
secret = db8a203aed5fe3e4594d4b75990acb76242efd35
Примечание . Если вы не введете ничего в этот параметр, сервер сгенерирует его, но он будет отличаться при каждом перезапуске сервера.
Раскомментируйте allow\_new\_usersпараметр и настройте его так, trueчтобы наша учетная запись впервые подключалась к нашему серверу:
allow_new_users = true
Затем мы раскомментируем audiencesпараметр и добавим то же самое, что и public_uriпараметр:
audiences = http://fsync.example.com
Наконец, просто добавьте следующую строку в конец вашего файла:
forwarded_allow_ips = *
Эта строка поможет вам избежать сообщений об ошибках и проблем с авторизацией.
Чтобы запустить сервер синхронизации, вы можете использовать одну из следующих команд:
./path/to/syncserver/local/bin/gunicorn --threads 4 --paste /path/to/syncserver/syncserver.ini &
Это позволяет вам выбрать местоположение файла конфигурации; а также поставить аргумент --threads 4, который позволяет назначить больше мощности серверу синхронизации.
Чтобы запускать сервер каждый раз при загрузке вашего экземпляра, вы можете добавить следующую строку в ваш crontab, набрав crontab -eкоманду:
@reboot ./path/to/syncserver/local/bin/gunicorn --paste /path/to/syncserver/syncserver.ini &
Вы можете использовать разные веб-серверы, совместимые с WSGIпротоколом. Например:
Nginx с UWSGI.Apache в сочетании с mod_wsgi.Для Nginx вы должны использовать встроенный прокси-сервер Nginx, как показано ниже:
server {
listen 80;
server_name fsync.example.com;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_read_timeout 120;
proxy_connect_timeout 10;
proxy_pass http://127.0.0.1:5000/;
}
}
Пользователи Nginx могут использовать только сокет WSGI.
Установить uWSGIчерез Pip:
pip install uwsgi
Установите uWSGIчерез скачивание исходного архива:
wget https://projects.unbit.it/downloads/uwsgi-latest.tar.gz
tar zxvf uwsgi-latest.tar.gz
cd <dir>
make
Примечание : после сборки у вас будет uwsgiбинарный файл в текущем каталоге.
После установки запустите его со следующими параметрами:
uwsgi --plugins python27 --manage-script-name \
--mount /<location>=/path/to/syncserver/syncserver.wsgi \
--socket /path/to/uwsgi.sock
Затем используйте следующую конфигурацию Nginx:
location /<location>/ {
include uwsgi_params;
uwsgi_pass unix:/path/to/uwsgi.sock;
}
Установить mod_wsgi:
apt-get install libapache2-mod-wsgi
Затем используйте следующий vhost:
<VirtualHost *:80>
ServerName sync.example.com
DocumentRoot /path/to/syncserver
WSGIProcessGroup sync
WSGIDaemonProcess sync user=sync group=sync processes=2 threads=25 python-path=/path/to/syncserver/local/lib/python2.7/site-packages/
WSGIPassAuthorization On
WSGIScriptAlias / /path/to/syncserver/syncserver.wsgi
CustomLog /var/log/apache2/sync.example.com-access.log combined
ErrorLog /var/log/apache2/sync.example.com-error.log
</VirtualHost>
После того, как сервер установлен и настроен, вы можете настроить клиент Firefox для настольного компьютера на связь с вашим новым сервером синхронизации. Прежде чем начать, если вы уже подключены к серверам синхронизации Firefox, вы должны выйти из системы. В противном случае соединение с новым сервером может не работать.
Сначала откройте новую вкладку и введите следующий адрес:
about:config
В строке поиска введите identity.sync.tokenserver.uriи измените ее значение на URL вашего сервера с путем token/1.0/sync/1.5:
http://sync.example.com/token/1.0/sync/1.5
Изучение 26 методов анализа больших данных: часть 1
Прочтите блог, чтобы узнать о различных уровнях архитектуры больших данных и их функциях самым простым способом.
Многие из вас знают Switch, который выйдет в марте 2017 года, и его новые функции. Для тех, кто не знает, мы подготовили список функций, которые делают «Switch» обязательным гаджетом.
Вы ждете, когда технологические гиганты выполнят свои обещания? проверить, что осталось недоставленным.
Прочтите это, чтобы узнать, как искусственный интеллект становится популярным среди небольших компаний и как он увеличивает вероятность их роста и дает преимущество перед конкурентами.
По мере того, как наука развивается быстрыми темпами, принимая на себя большую часть наших усилий, также возрастает риск подвергнуться необъяснимой сингулярности. Прочтите, что может значить для нас необычность.
CAPTCHA стало довольно сложно решать пользователям за последние несколько лет. Сможет ли он оставаться эффективным в обнаружении спама и ботов в ближайшем будущем?
Что такое телемедицина, дистанционное здравоохранение и их влияние на будущее поколение? Это хорошее место или нет в ситуации пандемии? Прочтите блог, чтобы узнать мнение!
Возможно, вы слышали, что хакеры зарабатывают много денег, но задумывались ли вы когда-нибудь о том, как они зарабатывают такие деньги? Давайте обсудим.
Недавно Apple выпустила macOS Catalina 10.15.4, дополнительное обновление для исправления проблем, но похоже, что это обновление вызывает больше проблем, приводящих к поломке компьютеров Mac. Прочтите эту статью, чтобы узнать больше