सेंटो 7 पर मशीन लर्निंग के लिए अपाचे प्रिडिक्शनियो को कैसे स्थापित करें और उपयोग करें

डेटा विश्लेषण के लिए पारंपरिक दृष्टिकोण का उपयोग करना असंभव है, जब डेटासेट एक निश्चित आकार तक पहुंचते हैं। डेटा के विशाल सेट का विश्लेषण करने का एक आधुनिक विकल्प मशीन सीखने के तरीकों का उपयोग कर रहा है। मशीन लर्निंग तेज और कुशल एल्गोरिदम का उपयोग करते समय सटीक परिणाम देने में सक्षम है।

Apache PredictionIO एक ओपन सोर्स मशीन लर्निंग सर्वर है जिसका इस्तेमाल किसी भी मशीन लर्निंग टास्क के लिए प्रेडिक्टिव इंजन बनाने के लिए किया जाता है। यह अनुकूलन योग्य इंजन टेम्प्लेट का उपयोग करके प्रयोगशाला से उत्पादन के लिए मशीन लर्निंग एप्लिकेशन के समय को छोटा करता है जिसे जल्दी से बनाया और तैनात किया जा सकता है। यह डेटा संग्रह और सेवारत घटक प्रदान करता है, और एक एपीआई को उजागर करने के लिए अंतर्निहित प्रौद्योगिकी को अमूर्त करता है जो डेवलपर्स को परिवर्तन घटकों पर ध्यान केंद्रित करने की अनुमति देता है। एक बार PredictionIO के इंजन सर्वर को वेब सेवा के रूप में तैनात किया जाता है, यह वास्तविक समय में गतिशील प्रश्नों का जवाब दे सकता है।

Apache PredictionIO में विभिन्न घटक होते हैं।

  • प्रिडिक्टियो प्लेटफॉर्म : एक ओप��� सोर्स मशीन लर्निंग स्टैक, जिसे कुछ अत्याधुनिक ओपन सोर्स एप्लिकेशन जैसे कि अपाचे स्पार्क, अपाचे हडोप, अपाचे HBase और एलिटिक्सखोज के शीर्ष पर बनाया गया है।
  • इवेंट सर्वर : यह आपके वेब सर्वर या मोबाइल एप्लिकेशन सर्वर से लगातार वास्तविक समय मोड या बैच मोड में डेटा इकट्ठा करता है। एकत्रित डेटा का उपयोग इंजन को प्रशिक्षित करने या डेटा विश्लेषण के लिए एक एकीकृत दृश्य प्रदान करने के लिए किया जा सकता है। डेटा को संग्रहीत करने के लिए ईवेंट सर्वर अपाचे HBase का उपयोग करता है।
  • इंजन सर्वर : इंजन सर्वर वास्तविक भविष्यवाणी करने के लिए जिम्मेदार है। यह डेटा स्टोर से प्रशिक्षण डेटा पढ़ता है और पूर्वानुमान मॉडल के निर्माण के लिए एक या अधिक मशीन लर्निंग एल्गोरिदम का उपयोग करता है। एक इंजन, जिसे एक बार वेब सेवा के रूप में तैनात किया जाता है, वह REST API या SDK का उपयोग करके वेब या मोबाइल ऐप द्वारा किए गए प्रश्नों का जवाब देता है।
  • टेम्पलेट गैलरी : यह गैलरी विभिन्न प्रकार के पूर्व-निर्मित इंजन टेम्पलेट प्रदान करती है। आप एक टेम्पलेट चुन सकते हैं जो आपके उपयोग के मामले के समान है और इसे अपनी आवश्यकताओं के अनुसार संशोधित कर सकते हैं।

आवश्यक शर्तें

  • कम से कम 8GB रैम के साथ Vultr CentOS 7 सर्वर का उदाहरण। परीक्षण और विकास के उद्देश्य के लिए, आप 4GB रैम और अन्य 4GB स्वैप मेमोरी के साथ एक उदाहरण चुन सकते हैं ।
  • एक sudo यूजर

इस ट्यूटोरियल में, हम 192.0.2.1सर्वर के सार्वजनिक आईपी पते के रूप में उपयोग करेंगे। 192.0.2.1अपने Vultr सार्वजनिक आईपी पते के साथ सभी घटनाओं को बदलें ।

सेंटोस 7 को अपडेट करने के लिए गाइड का उपयोग करके अपनी आधार प्रणाली को अपडेट करें । एक बार आपका सिस्टम अपडेट हो जाने के बाद, जावा इंस्टॉल करने के लिए आगे बढ़ें।

जावा स्थापित करें

PredictionIO के कई घटकों को काम करने के लिए JDK या जावा डेवलपमेंट किट, संस्करण 8 की आवश्यकता होती है। यह OpenJDK और Oracle जावा दोनों को सपोर्ट करता है। इस ट्यूटोरियल में, हम OpenJDK संस्करण 8 स्थापित करेंगे।

OpenJDK को आसानी से स्थापित किया जा सकता है, क्योंकि पैकेज डिफ़ॉल्ट YUM रिपॉजिटरी में उपलब्ध है।

sudo yum -y install java-1.8.0-openjdk-devel

यह सुनिश्चित करने के लिए जावा के संस्करण को सत्यापित करें कि यह सही ढंग से स्थापित किया गया था।

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_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

PredictionIO स्थापित करें

Apache PredictionIO सोर्स फाइल्स प्रदान करती है जिन्हें स्थानीय स्तर पर डाउनलोड और संकलित किया जा सकता है। स्रोत फ़ाइल को डाउनलोड करने और संकलित करने के लिए एक नई अस्थायी निर्देशिका बनाएं।

mkdir /tmp/pio_sourcefiles && cd /tmp/pio_sourcefiles

किसी भी अपाचे मिरर साइट का उपयोग करके प्रिडिक्टियो स्रोत फ़ाइल संग्रह डाउनलोड करें ।

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-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

स्कैला संस्करण 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 के लिए डिफ़ॉल्ट प्रोसेसिंग इंजन है। स्पार्क संस्करण 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 द्वारा डेटा निर्देशिका स्वचालित रूप से बनाई जाएगी। JAVA_HOMEपथ सेट करने के लिए HBase वातावरण फ़ाइल संपादित करें ।

nano /opt/PredictionIO-0.12.0-incubating/vendors/hbase-1.2.6/conf/hbase-env.sh

बिना लाइन की संख्या 27 और अपने जावा इंस्टॉलेशन JAVA_HOMEके पथ पर सेट करें jre। आप readlink -f $(which 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 पर टिप्पणी करें क्योंकि वे जेएवीए 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 पर्यावरण कॉन्फ़िगर करें

PredictionIO पर्यावरण फ़ाइल में डिफ़ॉल्ट कॉन्फ़िगरेशन pio-env.shमानता है कि हम PostgreSQL या MySQL का उपयोग कर रहे हैं। जैसा कि हमने HBase और Elasticsearch का उपयोग किया है, हमें फ़ाइल में लगभग हर कॉन्फ़िगरेशन को संशोधित करना होगा। मौजूदा फ़ाइल का बैकअप लेना और एक नया प्रिडिक्शनियो एनवायरनमेंट फ़ाइल बनाना सबसे अच्छा है।

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

लाइन को अनइंस्टॉल करें और क्लस्टर नाम को ठीक उसी तरह सेट करें जैसा कि प्रिडिक्शनियो एनवायरनमेंट फाइल में दिया गया है। क्लस्टर 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 में सभी सेवाओं को शुरू कर सकते हैं जैसे कि एलियटसर्च, 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.

जैसा कि हम उपरोक्त संदेशों में देख सकते हैं, हमारा सिस्टम इंजन टेम्पलेट को लागू करने और डेटा की भविष्यवाणी करने के लिए उपयोग करने के लिए तैयार है।

एक इंजन टेम्पलेट लागू करना

इंजन टेम्प्लेट का उपयोग करने के लिए तैयार कई प्रेडिक्टियो टेम्प्लेट गैलरी पर उपलब्ध हैं जिन्हें आसानी से प्रिडिक्शनियो सर्वर पर स्थापित किया जा सकता है। आप अपनी आवश्यकताओं के करीब है या आप अपने खुद के इंजन लिख सकते हैं खोजने के लिए इंजन टेम्पलेट्स की सूची के माध्यम से ब्राउज़ करने के लिए स्वतंत्र हैं।

इस ट्यूटोरियल में, हम E-Commerce Recommendationकुछ नमूना डेटा का उपयोग करके PredictionIO सर्वर की कार्यक्षमता को प्रदर्शित करने के लिए इंजन टेम्पलेट को लागू करेंगे । यह इंजन टेम्प्लेट एक ई-कॉमर्स वेबसाइट में उपयोगकर्ता को कुछ व्यक्तिगत सिफारिश प्रदान करता है। डिफ़ॉल्ट रूप से, इसमें ऐसी विशेषताएं हैं जो स्टॉक आइटमों को छोड़कर या उपयोगकर्ता को सिफारिशें प्रदान करना है जो मॉडल के प्रशिक्षित होने के बाद साइन अप करते हैं। इसके अलावा, डिफ़ॉल्ट रूप से, इंजन टेम्पलेट एक उपयोगकर्ता का दृष्टिकोण लेता है और घटनाओं, श्रेणियों और संपत्तियों और अनुपलब्ध वस्तुओं की सूची खरीदता है। एक बार इंजन को प्रशिक्षित और तैनात करने के बाद, आप अनुशंसित होने के लिए उपयोगकर्ता आईडी और मदों की संख्या के साथ एक क्वेरी भेज सकते हैं। उत्पन्न आउटपुट अनुशंसित आइटम आईडी की एक सूचीबद्ध सूची होगी।

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 को एप्लिकेशन में एकीकृत करके डेटा को इवेंट सर्वर पर स्वचालित रूप से भेजना चाहेंगे। प्रिडिक्टियो कैसे काम करता है, यह जानने के लिए, हम इसमें कुछ नमूना डेटा आयात करेंगे। टेम्पलेट इंजन एक पायथन स्क्रिप्ट प्रदान करता है, जो नमूना डेटा को इवेंट सर्वर में आयात करने के लिए आसानी से उपयोग किया जा सकता है।

अजगर पाइप स्थापित करें।

sudo yum -y install python-pip
sudo pip install --upgrade pip

पाइप का उपयोग करके प्रिडिक्शनियो पायथन एसडीके स्थापित करें।

sudo pip install predictionio

इवेंट सर्वर पर नमूना डेटा जोड़ने के लिए पायथन स्क्रिप्ट चलाएँ।

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ताकि एप्लिकेशन की स्थिति वेब GUI पर देखी जा सके। साथ ही, ईवेंट सर्वर का उपयोग करने वाली वेबसाइटें और एप्लिकेशन इस पोर्ट के माध्यम से अपने प्रश्नों को भेजेंगे और प्राप्त करेंगे।

sudo firewall-cmd --zone=public --permanent --add-port=8000/tcp
sudo firewall-cmd --reload

अब आप PredictionIO इंजन को तैनात कर सकते हैं।

pio deploy

उपरोक्त आदेश 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

आप उपयोगकर्ता के लिए उत्पन्न सिफारिशें देखेंगे 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 आपके सर्वर पर सफलतापूर्वक तैनात किया गया है। अब आप उपयोगकर्ता के लिए सिफारिशों का अनुमान लगाने के लिए इंजन में डेटा आयात करने के लिए ईवेंट सर्वर के एपीआई का उपयोग कर सकते हैं। यदि आप चाहें, तो आप टेम्पलेट गैलरी से कुछ अन्य टेम्पलेट्स का ���पयोग कर सकते हैं। ई-कॉमर्स, समाचार या वीडियो सहित लगभग सभी उपयोग के मामलों में उपयोग किए जाने वाले यूनिवर्सल अनुशंसाकर्ता इंजन टेम्पलेट की जांच करना सुनिश्चित करें ।



Leave a Comment

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ

CentOS 7 पर RockMongo स्थापित करें

CentOS 7 पर RockMongo स्थापित करें

RockMongo एक वेब-आधारित MongoDB प्रबंधन उपकरण है जो MySQL प्रबंधन उपकरण के समान है: phpMyAdmin। यह ट्यूटोरियल इंस्टॉलिन की प्रक्रिया को कवर करेगा

CentOS 7 पर बुक किए गए समयबद्धक को कैसे स्थापित करें

CentOS 7 पर बुक किए गए समयबद्धक को कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? आवश्यकताएँ एक Vultr CentOS 7 सर्वर उदाहरण। एक sudo यूजर। चरण 1: सिस्टम को पहले अपडेट करें, अपने सिस्टम सर्वर को वें में अपडेट करें

CentOS 7 पर नेटडाटा स्थापित करना

CentOS 7 पर नेटडाटा स्थापित करना

एक अलग प्रणाली का उपयोग? नेटडाटा रियल-टाइम सिस्टम मेट्रिक्स मॉनिटरिंग के क्षेत्र में एक उभरता हुआ सितारा है। एक ही तरह के अन्य उपकरणों की तुलना में, नेटडाटा:

CentOS 7 पर स्टारबाउंड सर्वर कैसे स्थापित करें

CentOS 7 पर स्टारबाउंड सर्वर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? इस ट्यूटोरियल में, बीमार समझा जा रहा है कि CentOS 7 पर एक स्टारबाउंड सर्वर को कैसे सेटअप किया जाए। आवश्यक शर्तें आपको इस गेम को खुद पर बनाना होगा।

CentOS 7 पर Django कैसे स्थापित करें

CentOS 7 पर Django कैसे स्थापित करें

वेब एप्लिकेशन लिखने के लिए Django एक लोकप्रिय पायथन फ्रेमवर्क है। Django के साथ, आप तेजी से अनुप्रयोगों का निर्माण कर सकते हैं, पहिया को फिर से बनाए बिना। अगर आप चाहते हैं

CentOS 6 पर SA-MP सैन एंड्रियास मल्टीप्लेयर सर्वर सेटअप करें

CentOS 6 पर SA-MP सैन एंड्रियास मल्टीप्लेयर सर्वर सेटअप करें

एक अन्य Vultr ट्यूटोरियल में आपका स्वागत है। यहां, आप सीखेंगे कि एसएएमपी सर्वर कैसे स्थापित करें और चलाएं। यह गाइड CentOS 6 के लिए लिखा गया था

CentOS 7 पर Revive Adserver इनस्टॉल करना

CentOS 7 पर Revive Adserver इनस्टॉल करना

Revive Adserver एक स्वतंत्र और खुला स्रोत विज्ञापन सेवारत प्रणाली है जिसका उपयोग वेबसाइटों पर, ऐप्स में और / या वीडियो खिलाड़ियों में विज्ञापनों को प्रबंधित करने के लिए किया जा सकता है। इस लेख में,

CentOS 7 पर पार्स सर्वर कैसे स्थापित करें

CentOS 7 पर पार्स सर्वर कैसे स्थापित करें

पार्स सर्वर पार्स बैकेंड सेवा के लिए खुला स्रोत विकल्प है जिसे बंद किया जा रहा है। यदि आप इस सेवा के प्रशंसक हैं, तो आप अभी भी वें का आनंद ले सकते हैं

CentOS 7 पर एल्ग स्थापित करें

CentOS 7 पर एल्ग स्थापित करें

एक अलग प्रणाली का उपयोग? एल्ग एक खुला स्रोत सोशल नेटवर्किंग इंजन है जो परिसर के सामाजिक नेटवर्क जैसे सामाजिक वातावरण के निर्माण की अनुमति देता है

CentOS 7 पर डायस्पोरा के साथ अपने सामाजिक नेटवर्क का निर्माण करें

CentOS 7 पर डायस्पोरा के साथ अपने सामाजिक नेटवर्क का निर्माण करें

एक अलग प्रणाली का उपयोग? डायस्पोरा एक गोपनीयता-जागरूक, ओपन सोर्स सोशल नेटवर्क है। इस ट्यूटोरियल में, आप सीखेंगे कि डायस्पोरा पो को कैसे सेट और कॉन्फ़िगर करें

CentOS 7 पर कुबेदम के साथ कुबेरनेट्स तैनात करें

CentOS 7 पर कुबेदम के साथ कुबेरनेट्स तैनात करें

अवलोकन यह लेख आपको कुबेरनेट क्लस्टर प्राप्त करने और कुछ ही समय में कुबेदम के साथ चलने में मदद करने के लिए है। यह गाइड दो सर्वरों को तैनात करेगा

CentOS पर Z और Zsh के साथ उत्पादकता बढ़ाएँ

CentOS पर Z और Zsh के साथ उत्पादकता बढ़ाएँ

परिचय लिनक्स सिस्टम पर काम करने का मतलब है कि कोई कमांड लाइन का उपयोग अधिक बार नहीं कर रहा है। स्वागत के रूप में बार-बार लंबी निर्देशिका के नाम टाइप करना

कैसे एक Vultr LEMP सर्वर पर OpenCart स्थापित करें

कैसे एक Vultr LEMP सर्वर पर OpenCart स्थापित करें

ओपनकार्ट एक लोकप्रिय ओपन सोर्स शॉपिंग कार्ट सॉल्यूशन है जिसे उत्कृष्ट कार्यक्षमता, उपयोग में आसानी और उपस्थिति प्रदान करने के लिए डिज़ाइन किया गया है। OpenCart के साथ, आप सीए

CentOS 7 पर विकास के लिए Sails.js सेटअप करें

CentOS 7 पर विकास के लिए Sails.js सेटअप करें

एक अलग प्रणाली का उपयोग? परिचय Sails.js Node.js के लिए MVC फ्रेमवर्क है, जो रूबी ऑन रेल्स के समान है। यह आधुनिक अनुप्रयोगों को विकसित करने के लिए बनाता है

कैसे CentOS 7 पर स्रोत से Nginx संकलन करने के लिए

कैसे CentOS 7 पर स्रोत से Nginx संकलन करने के लिए

एक अलग प्रणाली का उपयोग? NGINX को HTTP / HTTPS सर्वर, रिवर्स प्रॉक्सी सर्वर, मेल प्रॉक्सी सर्वर, लोड बैलेंसर, TLS टर्मिनेटर, या कैचिन के रूप में उपयोग किया जा सकता है

CentOS 7 पर dotCMS कैसे स्थापित करें

CentOS 7 पर dotCMS कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? dotCMS जावा में लिखा एक ओपन सोर्स एंटरप्राइज ग्रेड कंटेंट मैनेजमेंट सिस्टम है। इसमें लगभग हर सुविधा आवश्यक टी होती है

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

Ubuntu 16.04 पर लाइटकार्ट शॉपिंग कार्ट प्लेटफ़ॉर्म कैसे स्थापित करें

LiteCart PHP, jQuery और HTML में लिखा गया एक स्वतंत्र और ओपन सोर्स शॉपिंग कार्ट प्लेटफॉर्म है। यह ई-कॉमर्स सॉफ्टवेअर का उपयोग करने के लिए एक सरल, हल���का और आसान है

डेबियन पर सेटअप NFS शेयर

डेबियन पर सेटअप NFS शेयर

एनएफएस एक नेटवर्क-आधारित फाइल सिस्टम है जो कंप्यूटरों को कंप्यूटर नेटवर्क पर फाइलों तक पहुंचने की अनुमति देता है। यह मार्गदर्शिका बताती है कि आप एनएफ पर फ़ोल्डर्स को कैसे उजागर कर सकते हैं

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

मोटोमो एनालिटिक्स को फेडोरा 28 पर कैसे स्थापित करें

एक अलग प्रणाली का उपयोग? माटोमो (पूर्व में पिविक) एक ओपन सोर्स एनालिटिक्स प्लेटफॉर्म है, जो गूगल एनालिटिक्स का एक खुला विकल्प है। Matomo स्रोत को होस्ट किया गया है

Linux पर एक TeamTalk Server सेटअप करें

Linux पर एक TeamTalk Server सेटअप करें

टीमटॉक एक कॉन्फ्रेंसिंग प्रणाली है जो उपयोगकर्ताओं को उच्च-गुणवत्ता वाले ऑडियो / वीडियो वार्तालाप, टेक्स्ट चैट, स्थानांतरण फ़ाइलें और स्क्रीन साझा करने की अनुमति देती है। यह मैं

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

विंडोज सर्वर पर Garrys मॉड कैसे स्थापित करें

परिचय यह आलेख बताएगा कि विंडोज सर्वर 2012 पर गारस मोड सर्वर को कैसे डाउनलोड और इंस्टॉल किया जाए। यह गाइड गहराई में होने के लिए बनाया गया है।

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

कैसे स्थापित करें और अपने CentOS 7 सर्वर पर CyberPanel कॉन्फ़िगर करें

एक अलग प्रणाली का उपयोग? परिचय CyberPanel बाजार पर पहला नियंत्रण पैनल है जो दोनों खुला स्रोत है और OpenLiteSpeed ​​का उपयोग करता है। क्या थी?

CentOS पर FFmpeg कैसे स्थापित करें

CentOS पर FFmpeg कैसे स्थापित करें

FFmpeg ऑडियो और वीडियो रिकॉर्ड करने, कन्वर्ट करने और स्ट्रीम करने के लिए एक लोकप्रिय ओपन सोर्स समाधान है, जो सभी प्रकार की ऑनलाइन स्ट्रीमिंग सेवाओं में व्यापक रूप से उपयोग किया जाता है। मैं

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

SSH का उपयोग करके LUKS डिस्क एन्क्रिप्शन पर LVM को दूरस्थ रूप से अनलॉक करने के लिए CentOS 7 स्थापित और सेटअप करें

एलयूकेएस (लिनक्स यूनिफाइड की सेटअप) लिनक्स के लिए उपलब्ध विभिन्न डिस्क एन्क्रिप्शन प्रारूपों में से एक है जो प्लेटफॉर्म एग्नॉस्टिक है। यह ट्यूटोरियल आपको बुद्धि प्रदान करेगा

अपने Vultr VPS को कैसे एक्सेस करें

अपने Vultr VPS को कैसे एक्सेस करें

Vultr अपने VPS को कॉन्फ़िगर करने, स्थापित करने और उपयोग करने के लिए कई अलग-अलग तरीके प्रदान करता है। क्रेडेंशियल एक्सेस करें आपके VPS के लिए डिफ़ॉल्ट एक्सेस क्रेडेंशियल ar

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

CentOS 7 पर अक्टूबर CMS को कैसे स्थापित करें

अक्टूबर एक खुला स्रोत सामग्री प्रबंधन प्रणाली है जो लारवेल PHP फ्रेमवर्क पर आधारित है। एक सुरुचिपूर्ण इंटरफ़ेस और एक संक्षिप्त मॉड्यूलर वास्तुकला के साथ