如何在CentOS 7上安装Oxwall
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
当数据集达到一定大小时,无法使用传统的数据分析方法。分析海量数据的现代替代方法是使用机器学习方法。使用快速高效的算法时,机器学习能够产生准确的结果。
Apache PredictionIO是一个开源机器学习服务器,用于为任何机器学习任务创建预测引擎。通过使用可快速构建和部署的可定制引擎模板,它缩短了从实验室到生产的机器学习应用程序的时间。它提供了数据收集和服务组件,并抽象了底层技术以公开API,使开发人员可以专注于转换组件。一旦PredictionIO的引擎服务器被部署为Web服务,它就可以实时响应动态查询。
Apache PredictionIO由不同的组件组成。
在本教程中,我们将使用192.0.2.1
服务器的公共IP地址。192.0.2.1
用您的Vultr公共IP地址替换所有出现的。
使用指南如何更新CentOS 7更新基本系统。系统更新后,继续安装Java。
PredictionIO的许多组件都需要JDK或Java Development Kit版本8才能工作。它同时支持OpenJDK和Oracle Java。在本教程中,我们将安装OpenJDK版本8。
OpenJDK可以轻松安装,因为该软件包在默认的YUM存储库中可用。
sudo yum -y install java-1.8.0-openjdk-devel
验证Java的版本以确保已正确安装。
java -version
您将获得类似的输出。
[user@vultr ~]$ java -version
openjdk version "1.8.0_151"
OpenJDK Runtime Environment (build 1.8.0_151-b12)
OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
在继续进行之前,我们需要设置JAVA_HOME
和JRE_HOME
环境变量。在系统中找到JAVA可执行文件的绝对路径。
readlink -f $(which java)
您将看到类似的输出。
[user@vultr ~]$ readlink -f $(which java)
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre/bin/java
现在,根据Java目录的路径设置JAVA_HOME
和JRE_HOME
环境变量。
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64" >> ~/.bash_profile
echo "export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre" >> ~/.bash_profile
执行bash_profile
文件。
source ~/.bash_profile
现在,您可以运行echo $JAVA_HOME
命令来检查是否设置了环境变量。
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
Apache提供了PredictionIO源文件,可以在本地下载和编译这些文件。创建一个新的临时目录以下载并编译源文件。
mkdir /tmp/pio_sourcefiles && cd /tmp/pio_sourcefiles
使用任何Apache Mirror网站下载PredictionIO源文件档案。
wget http://apache.mirror.vexxhost.com/incubator/predictionio/0.12.0-incubating/apache-predictionio-0.12.0-incubating.tar.gz
提取档案并编译源以创建PredictionIO的分发。
tar xf apache-predictionio-0.12.0-incubating.tar.gz
./make-distribution.sh
上述利润分配将会对依赖,这是默认的版本中建Scala 2.11.8
,Spark 2.1.1
,Hadoop 2.7.3
和ElasticSearch 5.5.2
。等待构建完成,这大约需要十分钟才能完成,具体取决于您系统的性能。
注意:您可以自由使用依赖项的最新受支持版本,但是由于某些功能可能已被弃用,因此在构建过程中可能会看到一些警告。运行./make-distribution.sh -Dscala.version=2.11.11 -Dspark.version=2.1.2 -Dhadoop.version=2.7.4 -Delasticsearch.version=5.5.3
,根据您的选择替换版本号。
构建成功完成后,您将在最后看到以下消息。
...
PredictionIO-0.12.0-incubating/python/pypio/__init__.py
PredictionIO-0.12.0-incubating/python/pypio/utils.py
PredictionIO-0.12.0-incubating/python/pypio/shell.py
PredictionIO binary distribution created at PredictionIO-0.12.0-incubating.tar.gz
PredictionIO二进制文件将保存在PredictionIO-0.12.0-incubating.tar.gz
存档中。将归档文件提取到/opt
目录中,并将所有权提供给当前用户。
sudo tar xf PredictionIO-0.12.0-incubating.tar.gz -C /opt/
sudo chown -R $USER:$USER /opt/PredictionIO-0.12.0-incubating
设置PIO_HOME
环境变量。
echo "export PIO_HOME=/opt/PredictionIO-0.12.0-incubating" >> ~/.bash_profile
source ~/.bash_profile
创建一个新的目录来安装PredictionIO作为依赖这样HBase
,Spark
和Elasticsearch
。
mkdir /opt/PredictionIO-0.12.0-incubating/vendors
下载Scala 2.11.8版并将其解压缩到vendors
目录中。
wget https://downloads.lightbend.com/scala/2.11.8/scala-2.11.8.tgz
tar xf scala-2.11.8.tgz -C /opt/PredictionIO-0.12.0-incubating/vendors
下载Apache Hadoop 2.7.3版并将其解压缩到vendors
目录中。
wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz
tar xf hadoop-2.7.3.tar.gz -C /opt/PredictionIO-0.12.0-incubating/vendors
Apache Spark是PredictionIO的默认处理引擎。下载Spark版本2.1.1,并将其解压缩到vendors
目录中。
wget https://archive.apache.org/dist/spark/spark-2.1.1/spark-2.1.1-bin-hadoop2.7.tgz
tar xf spark-2.1.1-bin-hadoop2.7.tgz -C /opt/PredictionIO-0.12.0-incubating/vendors
下载Elasticsearch版本5.5.2并将其解压缩到vendors
目录中。
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.2.tar.gz
tar xf elasticsearch-5.5.2.tar.gz -C /opt/PredictionIO-0.12.0-incubating/vendors
最后,下载HBase 1.2.6版并将其解压缩到vendors
目录中。
wget https://archive.apache.org/dist/hbase/stable/hbase-1.2.6-bin.tar.gz
tar xf hbase-1.2.6-bin.tar.gz -C /opt/PredictionIO-0.12.0-incubating/vendors
打开hbase-site.xml
配置文件以配置HBase在独立环境中工作。
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-site.xml
找到空的配置块,然后将其替换为以下配置。
<configuration>
<property>
<name>hbase.rootdir</name>
<value>file:///home/user/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/data</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/user/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/zookeeper</value>
</property>
</configuration>
数据目录将由HBase自动创建。编辑HBase环境文件以设置JAVA_HOME
路径。
nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-env.sh
取消注释第27行,并将其设置JAVA_HOME
为jre
Java安装的路径。您可以使用以下readlink -f $(which java)
命令找到JAVA可执行文件的路径。
# The java implementation to use. Java 1.7+ required.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64/jre
另外,请注释掉行号46和47,因为JAVA 8不需要它们。
# Configure PermSize. Only needed in JDK7. You can safely remove it for JDK8+
# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
PredictionIO环境文件中的默认配置pio-env.sh
假定我们使用的是PostgreSQL或MySQL。当我们使用HBase和Elasticsearch时,我们将需要修改文件中几乎所有的配置。最好对现有文件进行备份,然后创建一个新的PredictionIO环境文件。
mv /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh.bak
现在为PredictionIO环境配置创建一个新文件。
nano /opt/PredictionIO-0.12.0-incubating/conf/pio-env.sh
使用以下配置填充文件。
# PredictionIO Main Configuration
#
# This section controls core behavior of PredictionIO. It is very likely that
# you need to change these to fit your site.
# SPARK_HOME: Apache Spark is a hard dependency and must be configured.
SPARK_HOME=$PIO_HOME/vendors/spark-2.1.1-bin-hadoop2.7
# POSTGRES_JDBC_DRIVER=$PIO_HOME/lib/postgresql-42.0.0.jar
# MYSQL_JDBC_DRIVER=$PIO_HOME/lib/mysql-connector-java-5.1.41.jar
# ES_CONF_DIR: You must configure this if you have advanced configuration for
# your Elasticsearch setup.
ES_CONF_DIR=$PIO_HOME/vendors/elasticsearch-5.5.2/config
# HADOOP_CONF_DIR: You must configure this if you intend to run PredictionIO
# with Hadoop 2.
HADOOP_CONF_DIR=$PIO_HOME/vendors/spark-2.1.1-bin-hadoop2.7/conf
# HBASE_CONF_DIR: You must configure this if you intend to run PredictionIO
# with HBase on a remote cluster.
HBASE_CONF_DIR=$PIO_HOME/vendors/hbase-1.2.6/conf
# Filesystem paths where PredictionIO uses as block storage.
PIO_FS_BASEDIR=$HOME/.pio_store
PIO_FS_ENGINESDIR=$PIO_FS_BASEDIR/engines
PIO_FS_TMPDIR=$PIO_FS_BASEDIR/tmp
# PredictionIO Storage Configuration
#
# This section controls programs that make use of PredictionIO's built-in
# storage facilities. Default values are shown below.
#
# For more information on storage configuration please refer to
# http://predictionio.incubator.apache.org/system/anotherdatastore/
# Storage Repositories
# Default is to use PostgreSQL
PIO_STORAGE_REPOSITORIES_METADATA_NAME=pio_meta
PIO_STORAGE_REPOSITORIES_METADATA_SOURCE=ELASTICSEARCH
PIO_STORAGE_REPOSITORIES_EVENTDATA_NAME=pio_event
PIO_STORAGE_REPOSITORIES_EVENTDATA_SOURCE=HBASE
PIO_STORAGE_REPOSITORIES_MODELDATA_NAME=pio_model
PIO_STORAGE_REPOSITORIES_MODELDATA_SOURCE=LOCALFS
# Storage Data Sources
# PostgreSQL Default Settings
# Please change "pio" to your database name in PIO_STORAGE_SOURCES_PGSQL_URL
# Please change PIO_STORAGE_SOURCES_PGSQL_USERNAME and
# PIO_STORAGE_SOURCES_PGSQL_PASSWORD accordingly
# PIO_STORAGE_SOURCES_PGSQL_TYPE=jdbc
# PIO_STORAGE_SOURCES_PGSQL_URL=jdbc:postgresql://localhost/pio
# PIO_STORAGE_SOURCES_PGSQL_USERNAME=pio
# PIO_STORAGE_SOURCES_PGSQL_PASSWORD=pio
# MySQL Example
# PIO_STORAGE_SOURCES_MYSQL_TYPE=jdbc
# PIO_STORAGE_SOURCES_MYSQL_URL=jdbc:mysql://localhost/pio
# PIO_STORAGE_SOURCES_MYSQL_USERNAME=pio
# PIO_STORAGE_SOURCES_MYSQL_PASSWORD=pio
# Elasticsearch Example
PIO_STORAGE_SOURCES_ELASTICSEARCH_TYPE=elasticsearch
PIO_STORAGE_SOURCES_ELASTICSEARCH_HOSTS=localhost
PIO_STORAGE_SOURCES_ELASTICSEARCH_PORTS=9200
PIO_STORAGE_SOURCES_ELASTICSEARCH_SCHEMES=http
PIO_STORAGE_SOURCES_ELASTICSEARCH_CLUSTERNAME=pio
PIO_STORAGE_SOURCES_ELASTICSEARCH_HOME=$PIO_HOME/vendors/elasticsearch-5.5.2
# Optional basic HTTP auth
# PIO_STORAGE_SOURCES_ELASTICSEARCH_USERNAME=my-name
# PIO_STORAGE_SOURCES_ELASTICSEARCH_PASSWORD=my-secret
# Elasticsearch 1.x Example
# PIO_STORAGE_SOURCES_ELASTICSEARCH_TYPE=elasticsearch
# PIO_STORAGE_SOURCES_ELASTICSEARCH_CLUSTERNAME=<elasticsearch_cluster_name>
# PIO_STORAGE_SOURCES_ELASTICSEARCH_HOSTS=localhost
# PIO_STORAGE_SOURCES_ELASTICSEARCH_PORTS=9300
# PIO_STORAGE_SOURCES_ELASTICSEARCH_HOME=$PIO_HOME/vendors/elasticsearch-1.7.6
# Local File System Example
PIO_STORAGE_SOURCES_LOCALFS_TYPE=localfs
PIO_STORAGE_SOURCES_LOCALFS_PATH=$PIO_FS_BASEDIR/models
# HBase Example
PIO_STORAGE_SOURCES_HBASE_TYPE=hbase
PIO_STORAGE_SOURCES_HBASE_HOME=$PIO_HOME/vendors/hbase-1.2.6
# AWS S3 Example
# PIO_STORAGE_SOURCES_S3_TYPE=s3
# PIO_STORAGE_SOURCES_S3_BUCKET_NAME=pio_bucket
# PIO_STORAGE_SOURCES_S3_BASE_PATH=pio_model
保存文件并退出编辑器。
打开Elasticsearch配置文件。
nano /opt/PredictionIO-0.12.0-incubating/vendors/elasticsearch-5.5.2/config/elasticsearch.yml
取消注释该行,并将群集名称设置为与PredictionIO环境文件中提供的名称完全相同。pio
在上述配置中,群集名称设置为。
# Use a descriptive name for your cluster:
#
cluster.name: pio
现在,将$PIO_HOME/bin
目录添加到PATH变量中,以便直接执行PredictionIO可执行文件。
echo "export PATH=$PATH:$PIO_HOME/bin" >> ~/.bash_profile
source ~/.bash_profile
此时,PredictionIO已成功安装在您的服务器上。
您可以使用单个命令启动PredictionIO中的所有服务,例如Elasticsearch,HBase和事件服务器。
pio-start-all
您将看到以下输出。
[user@vultr ~]$ pio-start-all
Starting Elasticsearch...
Starting HBase...
starting master, logging to /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/bin/../logs/hbase-user-master-vultr.guest.out
Waiting 10 seconds for Storage Repositories to fully initialize...
Starting PredictionIO Event Server...
使用以下命令检查PredictionIO服务器的状态。
pio status
您将看到以下输出。
[user@vultr ~]$ pio status
[INFO] [Management$] Inspecting PredictionIO...
[INFO] [Management$] PredictionIO 0.12.0-incubating is installed at /opt/PredictionIO-0.12.0-incubating
[INFO] [Management$] Inspecting Apache Spark...
[INFO] [Management$] Apache Spark is installed at /opt/PredictionIO-0.12.0-incubating/vendors/spark-2.1.1-bin-hadoop2.7
[INFO] [Management$] Apache Spark 2.1.1 detected (meets minimum requirement of 1.3.0)
[INFO] [Management$] Inspecting storage backend connections...
[INFO] [Storage$] Verifying Meta Data Backend (Source: ELASTICSEARCH)...
[INFO] [Storage$] Verifying Model Data Backend (Source: LOCALFS)...
[INFO] [Storage$] Verifying Event Data Backend (Source: HBASE)...
[INFO] [Storage$] Test writing to Event Store (App Id 0)...
[INFO] [HBLEvents] The namespace pio_event doesn't exist yet. Creating now...
[INFO] [HBLEvents] The table pio_event:events_0 doesn't exist yet. Creating now...
[INFO] [HBLEvents] Removing table pio_event:events_0...
[INFO] [Management$] Your system is all ready to go.
从以上消息中可以看到,我们的系统已准备就绪,可用于实现引擎模板和预测数据。
PredictionIO模板库中提供了几个随时可用的引擎模板,可以轻松地将其安装在PredictionIO服务器上。您可以自由浏览引擎模板列表,以找到最符合您需求的模板,也可以编写自己的引擎。
在本教程中,我们将实现E-Commerce Recommendation
引擎模板,以使用一些示例数据来演示PredictionIO服务器的功能。该引擎模板向电子商务网站中的用户提供一些个人推荐。默认情况下,它具有诸如排除缺货项目或向训练模型后注册的用户提供推荐等功能。另外,默认情况下,引擎模板会接受用户的查看和购买事件,具有类别和属性的项目以及不可用项目的列表。培训和部署引擎后,您可以发送查询,其中包含用户ID和建议的项目数。生成的输出将是推荐商品ID的排名列表。
安装Git,因为它将用于克隆存储库。
cd ~
sudo yum -y install git
在系统上克隆“电子商务推荐器”引擎模板。
git clone https://github.com/apache/incubator-predictionio-template-ecom-recommender.git MyEComRecomm
为电子商务建议模板引擎创建一个新的应用程序。PredictionIO中的每个应用程序都用于存储单独网站的数据。如果您有多个网站,则可以创建多个应用程序以将每个网站的数据存储到另一个应用程序中。您可以自由选择应用程序的任何名称。
cd MyEComRecomm/
pio app new myecom
您将看到以下输出。
[user@vultr MyEComRecomm]$ pio app new myecom
[INFO] [HBLEvents] The table pio_event:events_1 doesn't exist yet. Creating now...
[INFO] [App$] Initialized Event Store for this app ID: 1.
[INFO] [Pio$] Created a new app:
[INFO] [Pio$] Name: myecom
[INFO] [Pio$] ID: 1
[INFO] [Pio$] Access Key: a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
上面的输出还包含访问密钥,该访问密钥将在将输入数据发送到事件服务器时用于进行身份验证。
您始终可以通过运行找到访问密钥以及可用应用程序列表。
pio app list
您将看到以下输出,其中包含应用程序列表和访问密钥。
[user@vultr MyEComRecomm]$ pio app list
[INFO] [Pio$] Name | ID | Access Key | Allowed Event(s)
[INFO] [Pio$] myecom | 1 | a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t | (all)
[INFO] [Pio$] Finished listing 1 app(s).
现在我们已经创建了一个新的应用程序,我们将向其中添加一些数据。在生产环境中,您希望通过将事件服务器API集成到应用程序中来自动将数据发送到事件服务器。要了解PredictionIO的工作原理,我们将一些样本数据导入其中。模板引擎提供了一个Python脚本,可以轻松使用该脚本将示例数据导入事件服务器。
安装Python pip。
sudo yum -y install python-pip
sudo pip install --upgrade pip
使用pip安装PredictionIO Python SDK。
sudo pip install predictionio
运行Python脚本以将示例数据添加到事件服务器。
python data/import_eventserver.py --access_key a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
确保将访问密钥替换为实际的访问密钥。您将看到类似的输出。
[user@vultr MyEComRecomm]$ python data/import_eventserver.py --access_key a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t
Namespace(access_key='a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t', url='http://localhost:7070')
{u'status': u'alive'}
Importing data...
('Set user', 'u1')
('Set user', 'u2')
...
('User', 'u10', 'buys item', 'i30')
('User', 'u10', 'views item', 'i40')
('User', 'u10', 'buys item', 'i40')
204 events are imported.
上面的脚本导入了10个用户,6个类别中的50个项目以及一些购买和观看的随机事件。要检查事件是否已导入,可以运行以下查询。
curl -i -X GET "http://localhost:7070/events.json?accessKey=a_DnDr4uyvjsKRldPoJAFMuPvb-QBz-BhUFyGehXoTKbm89r00Gx4ygnqspTJx4t"
输出将以JSON格式显示所有已导入事件的列表。
现在,将engine.json
文件打开到编辑器中。该文件包含引擎的配置。
nano engine.json
查找出现的位置,appName
然后用您之前创建的应用的实际名称替换该值。
{
"id": "default",
"description": "Default settings",
"engineFactory": "org.example.ecommercerecommendation.ECommerceRecommendationEngine",
"datasource": {
"params" : {
"appName": "myecom"
}
},
"algorithms": [
{
"name": "ecomm",
"params": {
"appName": "myecom",
"unseenOnly": true,
"seenEvents": ["buy", "view"],
"similarEvents": ["view"],
"rank": 10,
"numIterations" : 20,
"lambda": 0.01,
"seed": 3
}
}
]
}
生成应用程序。
pio build --verbose
如果您不想看到日志消息,请删除该--verbose
选项。首次构建引擎模板将花费几分钟。构建成功完成后,您将看到类似的输出。
[user@vultr MyEComRecomm]$ pio build --verbose
[INFO] [Engine$] Using command '/opt/PredictionIO-0.12.0-incubating/sbt/sbt' at /home/user/MyEComRecomm to build.
...
[INFO] [Engine$] Build finished successfully.
[INFO] [Pio$] Your engine is ready for training.
现在训练引擎。在训练过程中,引擎将分析数据集并根据提供的算法进行自我训练。
pio train
在部署应用程序之前,我们需要打开端口,8000
以便可以在Web GUI上查看应用程序的状态。同样,使用事件服务器的网站和应用程序也将通过此端口发送和接收其查询。
sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload
现在,您可以部署PredictionIO引擎。
pio deploy
上面的命令将在端口上部署引擎和内置的Web服务器,8000
以响应来自电子商务网站和应用程序的查询。成功部署引擎后,您将在最后看到以下输出。
[INFO] [HttpListener] Bound to /0.0.0.0:8000
[INFO] [MasterActor] Engine is deployed and running. Engine API is live at http://0.0.0.0:8000.
您可以http://192.0.2.1:8000
使用任何现代浏览器来验证引擎的状态。确保将其替换192.0.2.1
为实际的Vultr IP地址。
这表示电子商务建议引擎模板已部署并成功运行。您可以u5
通过在新的终端会话中运行以下查询来查询引擎模板以为用户获取五项建议。
curl -H "Content-Type: application/json" \
-d '{ "user": "u5", "num": 5 }' \
http://localhost:8000/queries.json
您将看到为user生成的推荐u5
。
[user@vultr ~]$ curl -H "Content-Type: application/json" \
> -d '{ "user": "u5", "num": 5 }' \
> http://localhost:8000/queries.json
{"itemScores":[{"item":"i25","score":0.9985169366745619},{"item":"i10","score":0.996613946803819},{"item":"i27","score":0.996613946803819},{"item":"i17","score":0.9962796867639341},{"item":"i8","score":0.9955868705972656}]}
恭喜,Apache PredictionIO已成功部署在您的服务器上。现在,您可以使用事件服务器的API将数据导入引擎中,以预测对用户的建议。如果需要,可以使用模板库中的其他一些模板。确保检查出通用推荐引擎模板,该模板可用于几乎所有用例,包括电子商务,新闻或视频。
Oxwall是一个开源社交网络软件平台,可用于免费构建自定义社交网站(SNS)。在这篇文章中,
FTP是用于通过Internet传输文件的有用协议,本指南将向您展示如何设置vsFTPd(非常安全的文件传输协议守护程序)o
在本教程中,我们将介绍在CentOS 6x x64上安装和使用nethogs的过程。nethogs是一种网络监视工具,它允许Networ
使用其他系统?简介BoltWire是一个用PHP编写的免费,轻量级的内容管理系统。与大多数其他内容管理人员相比
欢迎来到另一个Vultr教程。在这里,您将学习如何安装和运行SAMP服务器。本指南是为CentOS 6编写的。先决条件
简介/ etc /目录在Linux系统运行中起着至关重要的作用。其原因是因为几乎每个系统配置
使用其他系统?Microweber是一个开放源代码的拖放式CMS和在线商店。Microweber源代码托管在GitHub上。本指南将向您展示
使用其他系统?SonarQube是用于质量系统开发的开源工具。它是用Java编写的,并且支持多个数据库。它提供
使用其他系统?Mosh是Mobile Shell的缩写,是一种新兴的远程终端应用程序,旨在提供更好的连接和使用
MoinMoin是一个使用Python编写的基于文件系统的开源Wiki引擎。如今,MoinMoin已广泛用于开源社区。许多供应商
H2O是新一代HTTP服务器,它对所有当前使用的Web服务器都具有出色的,功能齐全的HTTP / 2实现。使用H2O作为您的Web服务器
在Linux和Unix系统管理员中,使用sudo用户访问服务器并在root级执行命令是一种非常普遍的做法。使用泡沫
使用其他系统?Countly是一个开源Web /移动分析和营销平台。它具有许多用于从Web收集数据的功能
MODX是一个用PHP编写的免费开放源内容管理系统。它使用MySQL或MariaDB来存储其数据库。MODX专为满足以下条件的企业而设计:
使用其他系统?Lychee 3.1相册是一种简单,灵活,免费和开源的照片管理工具,可在VPS服务器上运行。安装
使用其他系统?ERP或企业资源计划是用于管理核心业务流程的企业应用程序套件。ERPNext是免费的
使用其他系统?Paste 2.1是一个简单,灵活,免费和开源的pastebin应用程序,用于存储代码,文本等。最初是
使用其他系统?Seafile(社区版本)是一个免费和开源的文件同步和共享解决方案,类似于ownCloud。机智
使用其他系统?Kolab Groupware是一个免费的基于Web的开源组件软件。它的功能包括电子邮件通信,事件
使用其他系统?Omeka Classic 2.4 CMS是一个免费的开源数字发布平台和用于共享数字内容的内容管理系统(CMS)
勒索軟件攻擊呈上升趨勢,但人工智能能否幫助應對最新的計算機病毒?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 部分
過去幾十年,醫療保健領域的人工智能取得了巨大飛躍。因此,醫療保健中人工智能的未來仍在日益增長。