ما سرور 1c را با انتشار پایگاه داده و خدمات وب در لینوکس بالا می بریم

ما سرور 1c را با انتشار پایگاه داده و خدمات وب در لینوکس بالا می بریم

امروز می خواهم به شما بگویم که چگونه با انتشار خدمات وب، سرور 1c را در لینوکس دبیان 9 افزایش دهید.

خدمات وب 1c چیست؟

خدمات وب یکی از مکانیسم های پلت فرمی است که برای یکپارچه سازی با سایر سیستم های اطلاعاتی استفاده می شود. این وسیله ای برای پشتیبانی از SOA (معماری سرویس گرا) - معماری سرویس گرا، که استاندارد مدرن برای یکپارچه سازی برنامه ها و سیستم های اطلاعاتی است. در واقع، این فرصتی است برای ایجاد یک صفحه html با داده، که سپس توسط هر برنامه دیگری قابل دسترسی و بازیابی است.

جوانب مثبت - به سرعت (حتی با حجم نسبتاً زیادی داده) کار می کند، نسبتا راحت است.

معایب - برنامه نویس 1c شما در حین نوشتن وب سرویس برای پایگاه داده شما برای مدت طولانی از شما غر می زند. موضوع در نوشتن بسیار عجیب است.

من به شما نمی گویم چگونه بنویسید سرویس وب... نحوه انتشار آن در لینوکس را از کنسول سرور و همچنین کمی در مورد نصب سرور 1c در لینوکس به شما خواهم گفت.

و بنابراین، ما 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'
...

بر

...
listen_addresses = '*'
...

در مرحله بعد، اجازه دهید کاربران از شبکه ما وارد شوند

# 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 برای 1s بیشتر بخوانید اینجا.

بعد، سرور 1c را قرار می دهیم.

آرشیو دانلود شده از سایت 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="autouse"
sessionMaxAge = "20"
poolSize = "10"
poolTimeout="5"/>

«

اینها طرح هایی هستند که برای راه اندازی سرویس گیرنده وب 1c مورد نیاز هستند ... اکنون می توانید از طریق مرورگر به آدرس "http://ServerAddress/Test" به پایگاه داده آزمایشی ما دسترسی داشته باشید (مورد مهم است! این لینوکس است) یا مشخص کنید آدرس "نوع مکان پایه" در مشتری 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"
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"/>

صرفه جویی.

و اکنون وب سرویس ما در "http://ServerAddress/Test/Web_buh.1cws?" در دسترس است.

چرا باید با دست انجامش می دادی؟

از آنجایی که سرور ما بدون پوسته گرافیکی است، نمی‌توان پیکربندی را روی آن اجرا کرد و بر این اساس، آن را با استفاده از ابزارهای معمولی منتشر کرد. پیکربندی راه دور نصب شده روی کلاینت، خدمات وب را در سرور منتشر نمی کند. بنابراین، ما باید پیکربندی را به صورت دستی مطابق با الگوی توضیح داده شده در بالا ویرایش کنیم.

اسکریپت برای تولید vrd - متشکرم تیهون وی

منبع: www.habr.com

اضافه کردن نظر