Nagtataas kami ng 1c server sa pag-publish ng database at mga serbisyo sa web sa Linux

Nagtataas kami ng 1c server sa pag-publish ng database at mga serbisyo sa web sa Linux

Ngayon gusto kong sabihin sa iyo kung paano mag-set up ng 1c server sa Linux Debian 9 kasama ang paglalathala ng mga serbisyo sa web.

Ano ang 1C web services?

mga serbisyo sa web ay isa sa mga mekanismo ng platform na ginagamit para sa pagsasama sa iba pang mga sistema ng impormasyon. Ito ay isang paraan ng pagsuporta sa SOA (Service-Oriented Architecture), isang arkitektura na nakatuon sa serbisyo na isang modernong pamantayan para sa pagsasama ng mga aplikasyon at mga sistema ng impormasyon. Mahalaga, ito ay ang kakayahang lumikha ng isang html na pahina na may data, na maaaring ma-access ng anumang iba pang application at makuha.

Mga kalamangan - mabilis itong gumagana (kahit na may medyo malaking halaga ng data), at medyo maginhawa.

Cons - ang iyong 1C programmer ay magmumukmok sa iyo nang husto at sa mahabang panahon habang nagsusulat siya ng serbisyo sa web para sa iyong database. Ang bagay ay lubhang kakaiba sa pagsulat.

Hindi ko sasabihin sa iyo kung paano magsulat serbisyo sa web... Sasabihin ko sa iyo kung paano i-publish ito sa Linux mula sa server console, at kaunti din tungkol sa pag-install ng 1C server sa Linux.

At kaya, mayroon kaming debian 9 netinst, magsimula tayo:

I-install ang PostgresPro (Pakitandaan na ito ay hindi libre, at ipinamamahagi lamang bilang bahagi ng pamilyar sa mga kakayahan):

# 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 'ВашПароль';"

Sabihin natin sa postgresql na makinig sa lahat ng address at hindi lang localhost

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

Alisin natin ang komento at baguhin kung aling mga address ang pakikinggan:

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

Sa

...
listen_addresses = '*'
...

Susunod, hayaan natin ang mga user mula sa aming network na mag-log in

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

Baguhin natin:

# IPv4 lokal na koneksyon:
i-host lahat lahat 127.0.0.1/32 md5

sa

i-host lahat lahat 192.168.188.0/24 md5
i-host lahat lahat 127.0.0.1/32 md5

Maaari kang magbasa nang higit pa tungkol sa iba't ibang mga pag-install ng Postgres para sa 1c dito.

Susunod na i-install namin ang 1c server.

I-upload ang archive na na-download mula sa 1c website sa server (sa aking kaso deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

ilang higit pang maliliit na bagay:

# apt install imagemagick unixodbc libgsf-bin

Ngayon, i-install natin ang Apache2

# apt install apache2

Sa pamamagitan ng administration console o sa pamamagitan ng 1c client, gumagawa kami ng database at ina-upload ang aming configuration...

Ngayon nai-publish namin ang database:

pumunta sa folder na may 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

Pumunta tayo sa var/www/test/ at tingnan kung ano ang lalabas doon.

# 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=”/Pagsubok”
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable="false"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>

«

Ito ang mga scheme na kailangan para ilunsad ang 1c web client... maaari ka na ngayong pumunta sa aming test database mula sa isang browser sa address na “http://ServerAddress/Test” (case is important! this is Linux) o tukuyin sa kliyente ang "uri ng lokasyon ng database" na address na " http://ServerAddress/Test", at gagana ang kliyente sa nai-publish na database.

NGUNIT

Paano ang tungkol sa mga serbisyo sa web? (sa aking pagsasaayos ng pagsubok mayroong dalawa sa kanila: WebBuh para sa pagpapalitan ng data sa accounting at pagsasama ng toplog sa sistema ng wms ng kumpanya ng parehong pangalan).

Well, magdagdag tayo ng ilang linya sa aming vrd file...


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_addres;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"/>

iligtas natin ito.

At ngayon ang aming serbisyo sa web ay magagamit sa "http://ServerAddress/Test/Web_buh.1cws?"

Bakit kailangan mong gawin ito sa pamamagitan ng kamay?

Dahil ang aming server ay walang graphical na shell, hindi posible na patakbuhin ang configurator dito, at nang naaayon, mag-publish gamit ang karaniwang paraan. Ang remote configurator, na matatagpuan sa kliyente, ay hindi nag-publish ng mga serbisyo sa web sa server. Samakatuwid, kailangan nating manu-manong i-edit ang config ayon sa template na inilarawan sa itaas.

Script para sa pagbuo ng .vrd - Salamat TihonV

Pinagmulan: www.habr.com

Magdagdag ng komento