Kami meningkatkan pelayan 1c dengan penerbitan pangkalan data dan perkhidmatan web di Linux

Kami meningkatkan pelayan 1c dengan penerbitan pangkalan data dan perkhidmatan web di Linux

Hari ini saya ingin memberitahu anda bagaimana untuk menaikkan pelayan 1c pada linux debian 9 dengan penerbitan perkhidmatan web.

Apakah perkhidmatan web 1c?

Perkhidmatan web adalah salah satu mekanisme platform yang digunakan untuk penyepaduan dengan sistem maklumat lain. Ia adalah satu cara untuk menyokong SOA (Seni Bina Berorientasikan Perkhidmatan) - seni bina berorientasikan perkhidmatan, yang merupakan piawaian moden untuk menyepadukan aplikasi dan sistem maklumat. Malah, ini adalah peluang untuk mencipta halaman html dengan data, yang kemudiannya boleh diakses oleh mana-mana aplikasi lain dan diambil semula.

Kelebihan - berfungsi dengan cepat (walaupun dengan jumlah data yang agak besar), agak mudah.

Keburukan - pengaturcara 1c anda akan merungut pada anda untuk masa yang lama semasa menulis perkhidmatan web untuk pangkalan data anda. Perkara itu sangat pelik dalam penulisan.

Saya tidak akan memberitahu anda cara menulis perkhidmatan web... Saya akan memberitahu anda bagaimana untuk menerbitkannya di Linux dari konsol pelayan, serta sedikit tentang memasang pelayan 1c di Linux.

Oleh itu, kami mempunyai debian 9 netinst, mari mulakan:

Pasang PostgresPro (Sila ambil perhatian bahawa ia bukan percuma, dan diedarkan hanya sebagai sebahagian daripada membiasakan diri dengan kemungkinan):

# 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 'Π’Π°ΡˆΠŸΠ°Ρ€ΠΎΠ»ΡŒ';"

Mari beritahu postgresql untuk mendengar semua alamat dan bukan hanya localhost

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

Nyahkomen dan tukar alamat yang hendak didengari:

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

Pada

...
mendengar_alamat = '*'
...

Seterusnya, mari benarkan pengguna dari rangkaian kami untuk log masuk

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

Jom ubah:

# Sambungan tempatan IPv4:
hos semua semua 127.0.0.1/32 md5

pada

hos semua semua 192.168.188.0/24 md5
hos semua semua 127.0.0.1/32 md5

Anda boleh membaca lebih lanjut mengenai pelbagai pemasangan Postgres untuk 1s di sini.

Seterusnya, kami meletakkan pelayan 1c.

Muat naik arkib yang dimuat turun dari tapak 1c ke pelayan (dalam kes saya, deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

beberapa perkara kecil lagi:

# apt install imagemagick unixodbc libgsf-bin

Sekarang mari pasang Apache2

# apt install apache2

Melalui konsol pentadbiran atau melalui klien 1c, kami mencipta pangkalan data dan mengisi konfigurasi kami ...

Kini kami menerbitkan pangkalan data:

pergi ke folder dengan 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

Kami naik ke var/www/test/ dan lihat apa yang muncul di sana.

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

Β«

Ini adalah skema yang diperlukan untuk melancarkan klien web 1c ... kini anda boleh mengakses pangkalan data ujian kami dari penyemak imbas di alamat "http://ServerAddress/Test" (kes penting! Ini Linux) atau nyatakan Alamat "jenis lokasi asas" dalam klien http://ServerAddress/Test" dan klien akan bekerja dengan pangkalan data yang diterbitkan.

TETAPI

Tetapi bagaimana dengan perkhidmatan web? (dalam konfigurasi ujian saya terdapat dua daripadanya: WebBuh untuk pertukaran data dengan perakaunan dan penyepaduan toplog dengan sistem wms syarikat dengan nama yang sama).

Baiklah, mari tambahkan beberapa baris pada fail vrd kita...


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

jimat.

Dan kini perkhidmatan web kami tersedia di "http://ServerAddress/Test/Web_buh.1cws?"

Mengapa anda perlu melakukannya dengan tangan?

Memandangkan pelayan kami tanpa cangkerang grafik, ia tidak akan berfungsi untuk menjalankan configurator padanya, dan, dengan itu, menerbitkannya menggunakan cara biasa. Konfigurator jauh yang dipasang pada klien tidak menerbitkan perkhidmatan web pada pelayan. Oleh itu, kita perlu mengedit konfigurasi secara manual mengikut templat yang diterangkan di atas.

Skrip untuk menjana .vrd - Terima kasih TihonV

Sumber: www.habr.com

Tambah komen