Wy ferheegje de 1c-tsjinner mei de publikaasje fan 'e database en webtsjinsten op Linux

Wy ferheegje de 1c-tsjinner mei de publikaasje fan 'e database en webtsjinsten op Linux

Hjoed wol ik jo fertelle hoe't jo in 1c-tsjinner op Linux debian 9 ferheegje kinne mei de publikaasje fan webtsjinsten.

Wat binne webtsjinsten 1c?

Web tsjinsten is ien fan 'e platfoarmmeganismen brûkt foar yntegraasje mei oare ynformaasjesystemen. It is in middel om SOA (Service-Oriented Architecture) te stypjen - service-oriïnteare arsjitektuer, dat is de moderne standert foar yntegraasje fan applikaasjes en ynformaasjesystemen. Yn feite is dit in kâns om in html-side te meitsjen mei gegevens, dy't dan tagonklik wurde kin troch elke oare applikaasje en ophelle wurde.

Pros - wurket fluch (sels mei in frij grutte hoemannichte gegevens), relatyf handich.

Neidielen - jo 1c-programmeur sil jo in lange tiid grommelje by it skriuwen fan in webtsjinst foar jo database. It ding is tige nuver op skrift.

Ik sil jo net fertelle hoe't jo skriuwe web tsjinst... Ik sil jo fertelle hoe't jo it publisearje op Linux fan 'e serverkonsole, en ek in bytsje oer it ynstallearjen fan in 1c-tsjinner op Linux.

En sa, wy hawwe debian 9 netinst, litte wy begjinne:

Ynstallearje PostgresPro (Tink derom dat it net fergees is en allinich wurdt ferspraat as ûnderdiel fan 'e fertroudmaking mei de mooglikheden):

# apt-get update -y

# apt-get install -y wget gnupg2 || apt-get install -y gnupg

# wget -O - http://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO | apt-key add -

# echo deb http://repo.postgrespro.ru/pgpro-archive/pgpro-11.4.1/debian stretch main > /etc/apt/sources.list.d/postgrespro-std.list

# apt-get update -y
# apt-get install -y postgrespro-std-11-server
# /opt/pgpro/std-11/bin/pg-setup initdb
# /opt/pgpro/std-11/bin/pg-setup service enable
# service postgrespro-std-11 start
# su - postgres
# /opt/pgpro/std-11/bin/psql -U postgres -c "alter user postgres with password 'ВашПароль';"

Litte wy postgresql fertelle om nei alle adressen te harkjen en net allinich localhost

# nano /var/lib/pgpro/std-11/data/postgresql.conf

Unkommentearje en feroarje hokker adressen om te harkjen:

...
#listen_addresses = 'localhost'
...

op

...
listen_addresses = '*'
...

Litte wy dêrnei brûkers fan ús netwurk tastean om oan te melden

# nano /var/lib/pgpro/std-11/data/pg_hba.conf

Litte wy feroarje:

# IPv4 lokale ferbiningen:
host allegear allegear 127.0.0.1/32 md5

op

host allegear allegear 192.168.188.0/24 md5
host allegear allegear 127.0.0.1/32 md5

Jo kinne mear lêze oer de ferskate Postgres ynstallaasjes foar 1s hjir.

Fierder sette wy 1s de tsjinner.

Upload it argyf ynladen fan 'e 1c-side nei de tsjinner (yn myn gefal, deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

noch in pear lytse dingen:

# apt install imagemagick unixodbc libgsf-bin

Litte wy no Apache2 ynstallearje

# apt install apache2

Troch de administraasjekonsole as fia de 1c-kliïnt meitsje wy in database en folje ús konfiguraasje yn ...

No publisearje wy de databank:

gean nei de map mei 1s.

# cd /opt/1C/v8.3/x86_64/

./webinst -publish -apache24 -wsdir Test -dir /var/www/test/ -connstr  "Srvr=10.7.12.108;Ref=test;" -confPath /etc/apache2/apache2.conf

Wy klimme yn var/www/test/ en sjoch wat der ferskynde.

# cd /var/www/test
# nano default.vrd

«

v8.1c.ru/8.2/virtual-resource-system"
href="http://www.w3.org/2001/XMLSchema">www.w3.org/2001/XMLSchema"
href="http://www.w3.org/2001/XMLSchema-instance">www.w3.org/2001/XMLSchema-instance"
base="/Test"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable="false"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize = "10"
poolTimeout="5"/>

«

Dit binne de skema's dy't nedich binne om de 1c-webklient te starten ... no kinne jo tagong krije ta ús testdatabase fan 'e browser op it adres "http://ServerAddress/Test" (gefal is wichtich! Dit is Linux) of spesifisearje de "basislokaasjetype" adres yn 'e kliïnt "http://ServerAddress/Test" en de kliïnt sil wurkje mei de publisearre databank.

BUT

Mar hoe sit it mei webtsjinsten? (yn myn testkonfiguraasje binne d'r twa fan har: WebBuh foar gegevensútwikseling mei boekhâlding en toplog-yntegraasje mei it wms-systeem fan it bedriuw mei deselde namme).

No, lit ús in pear rigels tafoegje oan ús vrd-bestân ...


v8.1c.ru/8.2/virtual-resource-system"
href="http://www.w3.org/2001/XMLSchema">www.w3.org/2001/XMLSchema"
href="http://www.w3.org/2001/XMLSchema-instance">www.w3.org/2001/XMLSchema-instance"
base="/TestWeb"
ib="Srvr=IP_address;Ref=TestWebServ">
<standardOdata enable="false"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize = "10"
poolTimeout="5"/>

# Вот тут начинается код который публикует веб-сервисы
<point name="WebBuh" # Имя веб-сервиса в конфигураторе
alias="Web_buh.1cws" # Web_buh.1cws - алиас веб-сервиса в браузере
enable="true" # дальше я думаю строки и так понятны
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
<point name="TopLog" # второй веб сервис
alias="toplog.1cws" # toplog.1cws
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

lit ús it bewarje.

En no is ús webtsjinst beskikber op "http://ServerAddress/Test/Web_buh.1cws?"

Wêrom moasten jo it mei de hân dwaan?

Om't ús tsjinner sûnder grafyske shell is, sil it net wurkje om de konfigurator derop út te fieren, en dêrom publisearje it mei reguliere middels. De konfigurator op ôfstân ynstalleare op 'e kliïnt publisearret gjin webtsjinsten op' e tsjinner. Dêrom moatte wy de konfiguraasje manuell bewurkje neffens it hjirboppe beskreaune sjabloan.

Skript om .vrd - Dankewol TihonV

Boarne: www.habr.com

Add a comment