เรายกระดับเซิร์ฟเวอร์ 1c ด้วยการเผยแพร่ฐานข้อมูลและบริการเว็บบน Linux

เรายกระดับเซิร์ฟเวอร์ 1c ด้วยการเผยแพร่ฐานข้อมูลและบริการเว็บบน Linux

วันนี้ฉันอยากจะบอกคุณถึงวิธีการยกเซิร์ฟเวอร์ 1c บน linux debian 9 ด้วยการเผยแพร่บริการบนเว็บ

บริการเว็บ 1c คืออะไร?

บริการเว็บ เป็นหนึ่งในกลไกแพลตฟอร์มที่ใช้ในการบูรณาการกับระบบสารสนเทศอื่น เป็นวิธีการสนับสนุน SOA (สถาปัตยกรรมเชิงบริการ) - สถาปัตยกรรมเชิงบริการ ซึ่งเป็นมาตรฐานสมัยใหม่สำหรับการบูรณาการแอปพลิเคชันและระบบข้อมูล นี่เป็นโอกาสที่จะสร้างหน้า html พร้อมข้อมูล ซึ่งแอปพลิเคชันอื่นจะสามารถเข้าถึงได้และดึงข้อมูลกลับมา

ข้อดี - ทำงานได้อย่างรวดเร็ว (แม้จะมีข้อมูลค่อนข้างมาก) ค่อนข้างสะดวก

จุดด้อย - โปรแกรมเมอร์ 1c ของคุณจะบ่นคุณเป็นเวลานานขณะเขียนบริการเว็บสำหรับฐานข้อมูลของคุณ สิ่งนี้แปลกประหลาดมากในการเขียน

ฉันจะไม่บอกคุณว่าจะเขียนอย่างไร บริการเว็บ... ฉันจะบอกวิธีเผยแพร่บน Linux จากคอนโซลเซิร์ฟเวอร์รวมถึงข้อมูลเล็กน้อยเกี่ยวกับการติดตั้งเซิร์ฟเวอร์ 1c บน Linux

เรามี debian 9 netinst มาเริ่มกันเลย:

ติดตั้ง PostgresPro (โปรดทราบว่ามันไม่ฟรี และเผยแพร่โดยเป็นส่วนหนึ่งของการทำความคุ้นเคยกับความเป็นไปได้เท่านั้น):

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

บอกให้ postgresql ฟังที่อยู่ทั้งหมด ไม่ใช่แค่ localhost

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

ยกเลิกการแสดงความคิดเห็นและเปลี่ยนที่อยู่ที่จะฟัง:

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

На

...
ฟัง_ที่อยู่ = '*'
...

ต่อไป ให้ผู้ใช้จากเครือข่ายของเราเข้าสู่ระบบได้

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

มาเปลี่ยนกัน:

# การเชื่อมต่อท้องถิ่น IPv4:
โฮสต์ทั้งหมด 127.0.0.1/32 md5

บน

โฮสต์ทั้งหมด 192.168.188.0/24 md5
โฮสต์ทั้งหมด 127.0.0.1/32 md5

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับการติดตั้ง Postgres ต่างๆ เป็นเวลา 1 วินาที ที่นี่.

นอกจากนี้เรายังใส่เซิร์ฟเวอร์ 1 วินาที

อัปโหลดไฟล์เก็บถาวรที่ดาวน์โหลดจากไซต์ 1c ไปยังเซิร์ฟเวอร์ (ในกรณีของฉัน deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

สิ่งเล็กๆ น้อยๆ อีกสองสามอย่าง:

# apt install imagemagick unixodbc libgsf-bin

ตอนนี้เรามาติดตั้ง Apache2 กัน

# apt install apache2

ผ่านคอนโซลการดูแลระบบหรือผ่านไคลเอนต์ 1c เราสร้างฐานข้อมูลและกรอกการกำหนดค่าของเรา ...

ตอนนี้เราเผยแพร่ฐานข้อมูล:

ไปที่โฟลเดอร์ด้วย 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

เราปีนเข้าไปใน var/www/test/ และดูว่ามีอะไรปรากฏอยู่ที่นั่น

# 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"
ฐาน = "/ ทดสอบ"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable=«false»
reuseSessions = "ใช้อัตโนมัติ"
sessionMaxAge="20"
ขนาดพูล = "10"
พูลไทม์เอาท์ = "5"/>

«

นี่คือโครงร่างที่จำเป็นในการเปิดตัวเว็บไคลเอ็นต์ 1c ... ตอนนี้คุณสามารถเข้าถึงฐานข้อมูลทดสอบของเราจากเบราว์เซอร์ได้ที่ที่อยู่ "http://ServerAddress/Test" (ตัวพิมพ์สำคัญมาก! นี่คือ Linux) หรือระบุ ที่อยู่ "ประเภทตำแหน่งฐาน" ในไคลเอนต์ http://ServerAddress/Test" และไคลเอนต์จะทำงานกับฐานข้อมูลที่เผยแพร่

แต่

แต่บริการบนเว็บล่ะ? (ในการกำหนดค่าการทดสอบของฉันมีอยู่สองรายการ: WebBuh สำหรับการแลกเปลี่ยนข้อมูลด้วยการบัญชีและการรวมโทโพลล็อกกับระบบ wms ของบริษัทที่มีชื่อเดียวกัน)

เรามาเพิ่มสองสามบรรทัดในไฟล์ 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"
ฐาน="/TestWeb"
ib="Srvr=IP_addres;Ref=TestWebServ">
<standardOdata enable=«false»
reuseSessions = "ใช้อัตโนมัติ"
sessionMaxAge="20"
ขนาดพูล = "10"
พูลไทม์เอาท์ = "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"/>

บันทึก.

และตอนนี้บริการเว็บของเราพร้อมให้บริการแล้วที่ "http://ServerAddress/Test/Web_buh.1cws?"

ทำไมคุณต้องทำด้วยมือ?

เนื่องจากเซิร์ฟเวอร์ของเราไม่มีเชลล์แบบกราฟิก จึงไม่สามารถเรียกใช้ตัวกำหนดค่าบนเซิร์ฟเวอร์ได้ และด้วยเหตุนี้ จึงเผยแพร่โดยใช้วิธีการปกติ ตัวกำหนดค่าระยะไกลที่ติดตั้งบนไคลเอ็นต์ไม่ได้เผยแพร่บริการเว็บบนเซิร์ฟเวอร์ ดังนั้นเราจึงต้องแก้ไขการกำหนดค่าด้วยตนเองตามเทมเพลตที่อธิบายไว้ข้างต้น

สคริปต์เพื่อสร้าง .vrd - ขอบคุณ ทิฮอนวี

ที่มา: will.com

เพิ่มความคิดเห็น