AI 能否應對越來越多的勒索軟件攻擊?
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
Ruby on Rails是Ruby流行的Web框架,其开发目的是提高程序员的生产率。但是,有时需要使各种gem和依赖项协同工作才能变得棘手。本指南将帮助您建立一个完整的生产就绪的Rails环境,包括常用的gem和依赖项。
注意:强烈建议不要以root用户身份安装任何这些服务,因为您可能会遭受攻击。设置deploy
或app
用户是一种常见约定:
sudo adduser deploy
sudo adduser deploy sudo
su deploy
确保在Ubuntu VM上运行所有最新软件包:
sudo apt-get update && sudo apt-get upgrade -y
为了能够使用rbenv和其他gem 编译Ruby ,需要安装各种软件包。根据您需要的Ruby版本,可能不需要某些软件包。
sudo apt-get install -y curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev
sudo apt-get install -y libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev
sudo apt-get install -y python-software-properties libffi-dev
sudo apt-get install -y build-essential openssl libreadline6 libreadline6-dev libreadline-dev
sudo apt-get install -y automake libtool bison pkg-config bison autoconf libc6-dev ncurses-dev
sudo apt-get install -y libapr1-dev libaprutil1-dev libx11-dev libffi-dev tcl-dev tk-dev
这些是编译多个gem所必需的,例如Passenger:
sudo apt-get install -y zlib1g zlib1g-dev libssl-dev libyaml-dev libcurl4-openssl-dev libruby
Ruby社区正在使用Git作为首选的SCM。但也可以安装其他软件,例如Mercurial或Subversion:
sudo apt-get install -y git git-core
sudo apt-get install -y libmysqld-dev mysql-client libmysqlclient-dev
一些需要原生XML库的流行gem必需:
sudo apt-get install -y libxml2-dev libxslt-dev
使用最新版本从Node添加官方存储库,因为默认的Ubuntu存储库往往落后于几个主要版本:
curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
sudo apt-get install -y nodejs
这些软件包对于系统运行不是必需的,但是如果您需要使用某些gem,则很好。
这些库不是必需的,可以跳过,除非您计划使用图像处理gem。例如Rmagick:
sudo apt-get install -y imagemagick libmagickwand-dev libvips-dev
如果您需要连接到其他数据库或希望使用简单的本地数据库,请为SQLite或PostgreSQL安装驱动程序:
sudo apt-get install -y libsqlite3-dev sqlite3 libpq-dev postgresql postgresql-contrib
新安装的Ubuntu通常不会预先安装实用程序。随意安装您选择的文本编辑器:
sudo apt-get install -y iotop htop nano vim
MariaDB是功能强大的关系SQL服务器,与MySQL完全兼容。安装最新版本的MariaDB的最简单方法是使用官方存储库:
sudo apt-get install software-properties-common
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8
sudo add-apt-repository 'deb [arch=amd64,i386] http://ftp.utexas.edu/mariadb/repo/10.2/ubuntu zesty main'
sudo apt update
sudo apt install -y mariadb-server
按照提示并设置root密码。之后,请确认您可以访问全新安装:
mysql -V
它将显示类似于以下内容的行:
mysql Ver 15.1 Distrib 10.2.8-MariaDB, for debian-linux-gnu (x86_64) using readline 5
登录到MySQL Shell:
mysql -h localhost -u root -p
注意:用于\q
退出。
使用git安装Rbenv。这是最简单的安装方法,以后可以轻松进行更新。同样安装install ruby-build
,它负责实际编译不同版本的Ruby:
cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
注意:当您需要简单地更新cd ~/.rbenv
和时git pull
。
使Rbenv和Ruby-build在Shell中可用。为了确保导出行插入到文件的开头.bashrc
,这对于非交互式bash命令很重要,请使用以下行:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.temp_bashrc
echo 'eval "$(rbenv init -)"' >> ~/.temp_bashrc
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.temp_bashrc
cat ~/.temp_bashrc ~/.bashrc > ~/.combined_bashrc && mv ~/.combined_bashrc ~/.bashrc && rm ~/.temp_bashrc
exec $SHELL
检查Rbenv和Ruby-build是否已安装并在shell中可用:
rbenv install --list
如果rbenv
无法识别,请注销并重新登录到Shell。
创建一个~/.bash_profile
文件,并将其指向源~/.bashrc
文件。如果您需要从Rails应用程序运行任何非交互式shell命令(例如whenever
gem 设置的cron作业),它将使用与交互式shell相同版本的Ruby。这可以帮助防止奇怪的错误。将此行添加到~/.bash_profile
文件中:
if [ -f $HOME/.bashrc ]; then
source $HOME/.bashrc
fi
安装Ruby 2.4.1:
rbenv install 2.4.1
注意:根据VM上的资源,此过程可能需要5到15分钟,并且没有进度条。
使Rbenv随处可用。
rbenv global 2.4.1
为apt添加PGP密钥和HTTPS支持:
sudo apt-get install -y dirmngr gnupg
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 561F9B9CAC40B2F7
sudo apt-get install -y apt-transport-https ca-certificates
添加旅客资料库:
sudo sh -c 'echo deb https://oss-binaries.phusionpassenger.com/apt/passenger zesty main > /etc/apt/sources.list.d/passenger.list'
sudo apt-get update
安装乘客+ Nginx模块:
sudo apt-get install -y nginx
sudo apt-get install -y libnginx-mod-http-passenger
此时,使用域名或IP访问您的Vultr实例以对其进行测试。如果他们正在工作,您的页面将显示默认的Nginx欢迎页面。
安装捆绑器和Rails:
gem install bundler rails --no-ri --no-rdoc
Ubuntu / Debian约定是在中设置您的应用程序/var/www
。默认情况下,它只能由root写入。为了使设置生效,将所有权授予sudo用户deploy
:
sudo chown deploy:deploy /var/www -R
在中生成rails应用/var/www/
。如果您已经有要部署的应用程序,请git clone
在此处运行,然后运行bundle
:
cd /var/www
rails new example --database=mysql
准备Nginx。
sudo nano /etc/nginx/nginx.conf
将用户更改为deploy
。
user deploy;
在http
配置部分,应该有一行告诉Nginx加载包括乘客的模块。如果缺少它,则可以在Virtual Host Configs
标题之后,之前添加sites-enabled
。
include /etc/nginx/conf.d/*.conf;
编辑/创建passenger.conf
文件。
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
告诉乘客使用我们的Rbenv设置。它可能包含一行指向Passenger随附的Ruby版本的行,只需将其删除或注释掉即可。
passenger_ruby /home/deploy/.rbenv/shims/ruby;
passenger_root /usr/lib/ruby/vendor_ruby/phusion_passenger/locations.ini;
设置虚拟主机以指向中的应用程序/var/www/example/
。
sudo nano /etc/nginx/sites-enabled/example.conf
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example/public;
passenger_enabled on;
# When you are ready to switch to production mode - change this to `production`
passenger_app_env development; # <-- !important
}
重新启动Nginx。
sudo service nginx restart
此时,您的应用程序已准备好在开发模式下使用。要切换到生产模式,您需要返回到Nginx配置,并将rails_env
设置更改为production
。
在你切换到生产模式,你仍然需要设置你的生产数据库example_production
, database.yml
和秘密密钥。签出Capistrano或Mina之类的工具来加快您的应用程序部署过程。最好将ENV变量与gem一起使用dotenv
,并且不要将您的密码,秘密密钥等提交到git存储库。
有多种服务可为您的域提供SSL证书,其中有许多是付费的,而有几个是免费的。无论您使用哪种服务,都请设置SSL。让我们加密非常容易且免费。让我们加密是一个由许多技术巨头支持的非营利组织。
运行以下命令,然后按照提示进行操作。
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt-get update
sudo apt-get install python-certbot-nginx
sudo certbot --nginx
sudo certbot renew --dry-run
如果现在使用转到您的Vultr实例HTTPS
,您将看到一个安全的网站。
您新签发的证书将过期,需要定期更新。最简单的方法是设置cron作业。
sudo crontab -e
30 2 * * 1 /usr/bin/certbot renew
作为最后但可选的步骤,重新启动VM,并确保所有服务均按预期方式重新启动。
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?AI 是答案嗎?在這裡閱讀知道是 AI 布恩還是禍根
ReactOS,一個開源和免費的操作系統,這裡有最新版本。它能否滿足現代 Windows 用戶的需求並打倒微軟?讓我們更多地了解這種老式但更新的操作系統體驗。
Whatsapp 終於為 Mac 和 Windows 用戶推出了桌面應用程序。現在您可以輕鬆地從 Windows 或 Mac 訪問 Whatsapp。適用於 Windows 8+ 和 Mac OS 10.9+
閱讀本文以了解人工智能如何在小型公司中變得流行,以及它如何增加使它們成長並為競爭對手提供優勢的可能性。
最近,Apple 發布了 macOS Catalina 10.15.4 補充更新以修復問題,但似乎該更新引起了更多問題,導致 mac 機器變磚。閱讀這篇文章以了解更多信息
大數據的13個商業數據提取工具
我們的計算機以稱為日誌文件系統的有組織的方式存儲所有數據。這是一種有效的方法,可以讓計算機在您點擊搜索時立即搜索和顯示文件。 https://wethegeek.com/?p=94116&preview=true
隨著科學的快速發展,接管了我們的大量工作,我們陷入無法解釋的奇點的風險也在增加。閱讀,奇點對我們意味著什麼。
洞察 26 種大數據分析技術:第 1 部分
過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。