Vzpon strojev: aplikacije AI v resničnem svetu
Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.
dotCMS je odprtokodni sistem za upravljanje vsebine podjetja, napisan v Javi. Vsebuje skoraj vse funkcije, potrebne za ustvarjanje spletnega mesta za vaše podjetje. Zagotavlja RESTful API za integracijo z drugimi storitvami, kot so CRM, mobilne aplikacije in drugo. Uporablja Elasticsearch za indeksiranje vsebine v realnem času in Redis za implementacijo večstopenjskega predpomnilnika.
Ta članek je bil napisan za dotCMS 4.2.2, vendar lahko navedena navodila delujejo tudi za novejše različice.
Za to vadnico bomo uporabili 192.168.0.1kot javni naslov IP in cms.example.comkot ime domene, usmerjeno proti primerku Vultr. Poskrbite, da boste zamenjali vse pojavitve vzorčnega imena domene in javnega naslova IP z dejanskim.
Posodobite svoj osnovni sistem z uporabo priročnika Kako posodobiti CentOS 7 . Ko je vaš sistem posodobljen, nadaljujte z namestitvijo Jave.
OpenJDK je mogoče enostavno namestiti, saj je paket na voljo v privzetem repozitoriju YUM.
sudo yum -y install java-1.8.0-openjdk-devel
Če je Java pravilno nameščena, boste lahko preverili njeno različico.
java -version
Dobili boste podoben rezultat.
[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)
Preden lahko nadaljujemo, bomo morali nastaviti spremenljivke okolja JAVA_HOMEin JRE_HOME. Poiščite absolutno pot izvedljive datoteke Java v vašem sistemu.
readlink -f $(which java)
Videli boste podoben izhod.
[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
Zdaj nastavite spremenljivke okolja JAVA_HOMEin JRE_HOMEglede na pot imenika Java.
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
Izvedite bash_profiledatoteko.
source ~/.bash_profile
Zdaj lahko zaženete echo $JAVA_HOMEukaz, da zagotovite, da je spremenljivka okolja nastavljena.
[user@vultr ~]$ echo $JAVA_HOME
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.151-1.b12.el7_4.x86_64
DotCMS je privzeto konfiguriran za uporabo motorja baze podatkov H2. Mehanizem baze podatkov H2 je mehanizem baze podatkov, ki temelji na ploščati datoteki. Ni priporočljivo uporabljati v proizvodnji. V tej vadnici bomo za shranjevanje baze podatkov dotCMS uporabili strežnik PostgreSQL.
PostgreSQL je objektno-relacijski sistem baz podatkov, znan po svoji stabilnosti in hitrosti. V sistem dodajte repozitorij najnovejše izdaje PostgreSQL.
sudo yum -y install https://download.postgresql.org/pub/repos/yum/10/redhat/rhel-7-x86_64/pgdg-centos10-10-1.noarch.rpm
Namestite strežnik baze podatkov PostgreSQL.
sudo yum -y install postgresql10-server postgresql10-contrib postgresql10
Inicializirajte bazo podatkov.
sudo /usr/pgsql-10/bin/postgresql-10-setup initdb
Zaženite strežnik PostgreSQL in omogočite, da se samodejno zažene ob zagonu.
sudo systemctl start postgresql-10
sudo systemctl enable postgresql-10
Spremenite geslo za privzetega uporabnika PostgreSQL.
sudo passwd postgres
Prijavite se kot privzeti uporabnik PostgreSQL.
sudo su - postgres
Ustvarite novega uporabnika PostgreSQL za dotCMS.
createuser dotcms
PostgreSQL ponuja psqllupino za izvajanje poizvedb na strežniku baze podatkov. Preklopite na lupino PostgreSQL.
psql
Nastavite geslo za novoustvarjenega uporabnika za bazo podatkov dotCMS.
ALTER USER dotcms WITH ENCRYPTED password 'DBPassword';
Uporabniško geslo baze podatkov zamenjajte DBPasswordz varnim geslom. Ustvarite novo bazo podatkov za namestitev dotCMS.
CREATE DATABASE dotcms OWNER dotcms;
Izstopite iz psqllupine.
\q
Preklopite na sudouporabnika.
exit
Prenesite arhiv dotCMS.
wget https://dotcms.com/physical_downloads/release_builds/dotcms_4.2.2.tar.gz
Povezavo do najnovejše različice aplikacije lahko vedno najdete na strani za prenos dotCMS .
Ustvarite nov imenik za shranjevanje datotek dotCMS in jih ekstrahirajte vanj.
sudo mkdir /opt/dotcms
sudo tar -zxf dotcms*.tar.gz -C /opt/dotcms
Odprite konfiguracijsko datoteko baze podatkov.
cd /opt/dotcms
sudo nano dotserver/tomcat-*/webapps/ROOT/META-INF/context.xml
Poiščite H2blok.
<!-- H2 -->
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
Komentirajte celoten H2razdelek tako, da zamenjate ločilo komentarja -->od začetka razdelka do konca razdelka. To bi moralo izgledati takole.
<!-- H2
<Resource name="jdbc/dotCMSPool" auth="Container"
...
validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
-->
Odkomentirajte razdelek PostgreSQL tako, da odstranite ločilo komentarjev -->s konca razdelka in ga postavite na zgornji ovoj POSTGRESQL. Prav tako poiščite username=in password=zamenjajte obstoječe vrednosti z uporabniškim imenom in geslom uporabnika vaše baze podatkov PostgreSQL. Če ste uporabili drugo ime baze podatkov kot dotcms, boste morali spremeniti ime baze podatkov v url=. Ko je konfiguriran, bi moral blok PostgreSQL v datoteki izgledati takole.
<!-- POSTGRESQL -->
<Resource name="jdbc/dotCMSPool" auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost/dotcms"
username="dotcms" password="DBPassword" maxTotal="60" maxIdle="10" maxWaitMillis="60000"
removeAbandonedOnBorrow="true" removeAbandonedOnMaintenance="true" removeAbandonedTimeout="60" logAbandoned="true"
timeBetweenEvictionRunsMillis="30000" validationQuery="SELECT 1" testOnBorrow="true" testWhileIdle="true" />
Zagotovite dovoljenje za izvajanje za vse izvedljive datoteke.
sudo chmod 755 ./bin/*.sh
sudo chmod 755 dotserver/tomcat-*/bin/*.sh
dotCMS je zdaj nameščen na vašem strežniku. Če želite takoj zagnati aplikacijo, izvedite naslednje.
cd /opt/dotcms
sudo bin/startup.sh
Ko se strežnik uspešno zažene, boste videli naslednji izhod.
[user@vultr dotcms]$ sudo bin/startup.sh
Using DOTCMS_HOME = /opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT
Using DOTSERVER = dotcms
Using CATALINA_PID = /tmp/dotcms.pid
Using JAVA_OPTS = -Djava.awt.headless=true -Xverify:none -Dfile.encoding=UTF8 -server -XX:+DisableExplicitGC -XX:MaxMetaspaceSize=512m -Xmx1G -XX:+UseG1GC -javaagent:/opt/dotcms/dotserver/tomcat-8.0.18/webapps/ROOT/WEB-INF/lib/byte-buddy-agent-1.6.12.jar -Ddotserver=dotcms
Using CATALINA_BASE: /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_HOME: /opt/dotcms/dotserver/tomcat-8.0.18
Using CATALINA_TMPDIR: /opt/dotcms/dotserver/tomcat-8.0.18/temp
Using JRE_HOME: /
Using CLASSPATH: /opt/dotcms/dotserver/tomcat-8.0.18/bin/bootstrap.jar:/opt/dotcms/dotserver/tomcat-8.0.18/bin/tomcat-juli.jar
Using CATALINA_PID: /tmp/dotcms.pid
Tomcat started.
Zgornji ukaz bo zagnal spletni strežnik Tomcat, ki bo stregel aplikaciji na vratih 8080. Če želite preveriti, ali spletno mesto dotCMS deluje, dovolite zahtevana vrata 8080prek sistemskega požarnega zidu.
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
sudo firewall-cmd --reload
Odprite svoj najljubši brskalnik in poiščite http://192.168.0.1:8080. Videti bi morali, da aplikacija izvaja demo spletno mesto. Če ne vidite svojega spletnega mesta, počakajte, saj prvi zagon strežnika dotCMS traja nekaj minut, ko zapisuje podatke v bazo podatkov PostgreSQL in gradi predpomnilnik. Preverite lahko tudi dnevnike zagona.
tail -n 1000 -f /opt/dotcms/dotserver/tomcat-*/webapps/ROOT/dotsecure/logs/dotcms.log
Strežnik dotCMS je mogoče zagnati neposredno z uporabo zagonskega skripta, ki je na voljo v namestitvenem paketu. Zaradi priročnosti bi morali nastaviti datoteko enote Systemd za strežnik dotCMS. To bo zagotovilo, da se aplikacijski strežnik samodejno zažene ob ponovnem zagonu sistema in napakah.
Ustavite delujoči strežnik dotCMS s skriptom za zaustavitev.
sudo bin/shutdown.sh
Iz varnostnih razlogov ustvarite neprivilegiranega uporabnika za zagon strežnika dotCMS.
sudo adduser -d /opt/dotcms -s /sbin/nologin dotcms
Zagotovite lastništvo datotek uporabniku dotCMS.
sudo chown -R dotcms:dotcms /opt/dotcms
Ustvarite novo storitev Systemd.
sudo nano /etc/systemd/system/dotcms.service
Izpolnite datoteko.
[Unit]
Description=dotCMS service
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/opt/dotcms/bin/startup.sh
ExecStop=/opt/dotcms/bin/shutdown.sh
User=dotcms
Group=dotcms
Restart=always
[Install]
WantedBy=multi-user.target
Zaženite aplikacijo in omogočite, da se samodejno zažene ob zagonu.
sudo systemctl start dotcms
sudo systemctl enable dotcms
Prepričajte se, da storitev deluje.
sudo systemctl status dotcms
Strežnik dotCMS privzeto posluša vrata 8080. Nginx bomo konfigurirali kot povratni proxy, tako da bo do aplikacije mogoče dostopati prek standarda HTTPin HTTPSvrat. Nginx bomo tudi konfigurirali za uporabo SSL, ustvarjenega z brezplačnim SSL Let's Encrypt.
Namestite spletni strežnik Nginx.
sudo yum -y install nginx
Zaženite spletni strežnik in omogočite, da se samodejno zažene ob zagonu.
sudo systemctl start nginx
sudo systemctl enable nginx
Namestite Certbot, ki je odjemalska aplikacija za Let's Encrypt CA.
sudo yum -y install certbot
Preden lahko zahtevate potrdila, boste morali dovoliti vrata 80in/ 443ali standard HTTPter HTTPSstoritve prek požarnega zidu. Prav tako odstranite vrata 8080s seznama izjem požarnega zidu, saj niso več potrebna.
sudo firewall-cmd --zone=public --remove-port=8080/tcp --permanent
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --zone=public --add-service=https --permanent
sudo firewall-cmd --reload
Opomba: Če želite pridobiti potrdila od Let's Encrypt CA, mora biti domena, za katero naj bi bila generirana potrdila, usmerjena proti strežniku. Če ne, naredite potrebne spremembe v zapisih DNS domene in počakajte, da se DNS razširi, preden znova pošljete zahtevo za potrdilo. Certbot preveri avtoriteto domene, preden zagotovi potrdila.
Ustvarite SSL potrdila.
sudo certbot certonly --webroot -w /usr/share/nginx/html -d cms.example.com
Ustvarjena potrdila bodo verjetno shranjena v /etc/letsencrypt/live/cms.example.com/. Potrdila Let's Encrypt potečejo v 90 dneh, zato je priporočljivo, da nastavite samodejno obnavljanje potrdil s pomočjo opravil Cron.
Odprite datoteko opravila cron.
sudo crontab -e
Dodajte naslednjo vrstico na konec datoteke.
30 5 * * * /usr/bin/certbot renew --quiet
Zgornje opravilo cron se bo izvajalo vsak dan ob 5.30. Če potrdilo poteče, se samodejno podaljša.
Ustvarite novo datoteko blokov strežnika za spletno mesto dotCMS.
sudo nano /etc/nginx/conf.d/cms.example.com.conf
Izpolnite datoteko.
server {
listen 80;
server_name cms.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443;
server_name cms.example.com;
ssl_certificate /etc/letsencrypt/live/cms.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/cms.example.com/privkey.pem;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/dotcms.access.log;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://localhost:8080;
proxy_read_timeout 90;
proxy_redirect http://localhost:8080 https://cms.example.com;
}
}
Znova zaženite spletni strežnik Nginx, da bodo spremembe začele veljati.
sudo systemctl restart nginx
Aplikacija dotCMS je zdaj nameščena na vašem strežniku za produkcijsko uporabo. Dostopite do skrbniške nadzorne plošče na naslednjem naslovu.
https://cms.example.com/dotAdmin
Prijavite se z začetnim skrbniškim računom admin@dotcms.comin admin. Spremenite privzeto geslo takoj po prijavi.
Čestitamo, sistem za upravljanje vsebine dotCMS je zdaj nameščen na vašem strežniku. Lahko spremenite demo stran ali pa začnete graditi svoje spletno mesto iz nič.
Umetna inteligenca ni v prihodnosti, tukaj je prav v sedanjosti. V tem blogu preberite, kako so aplikacije umetne inteligence vplivale na različne sektorje.
Ste tudi vi žrtev DDOS napadov in ste zmedeni glede načinov preprečevanja? Preberite ta članek, če želite rešiti svoja vprašanja.
Morda ste že slišali, da hekerji zaslužijo veliko denarja, a ste se kdaj vprašali, kako zaslužijo takšen denar? razpravljajmo.
Ali želite videti revolucionarne izume Googla in kako so ti izumi danes spremenili življenje vsakega človeka? Nato preberite v blogu in si oglejte Googlove izume.
Koncept samovozečih avtomobilov, ki zapeljejo na ceste s pomočjo umetne inteligence, so sanje, ki jih imamo že nekaj časa. A kljub številnim obljubam jih ni nikjer. Preberite ta blog, če želite izvedeti več…
Ker se znanost hitro razvija in prevzame veliko naših prizadevanj, se povečuje tudi tveganje, da se podvržemo nerazložljivi singularnosti. Preberite, kaj bi za nas lahko pomenila singularnost.
Preberite blog, če želite na najpreprostejši način spoznati različne plasti v arhitekturi velikih podatkov in njihove funkcionalnosti.
Metode shranjevanja podatkov so se lahko razvijale od rojstva podatkov. Ta blog pokriva razvoj shranjevanja podatkov na podlagi infografike.
V tem digitalno vodenem svetu so pametne naprave za dom postale ključni del življenja. Tukaj je nekaj neverjetnih prednosti pametnih naprav za dom o tem, kako naredijo naše življenje vredno življenja in poenostavijo.
Pred kratkim je Apple izdal macOS Catalina 10.15.4 dopolnilno posodobitev za odpravo težav, vendar se zdi, da posodobitev povzroča več težav, ki vodijo do opečenja računalnikov Mac. Preberite ta članek, če želite izvedeti več