Chúng tôi nâng cao máy chủ 1c bằng việc xuất bản cơ sở dữ liệu và dịch vụ web trên Linux

Chúng tôi nâng cao máy chủ 1c bằng việc xuất bản cơ sở dữ liệu và dịch vụ web trên Linux

Hôm nay tôi muốn hướng dẫn bạn cách nâng cấp máy chủ 1c trên linux debian 9 bằng việc xuất bản các dịch vụ web.

Dịch vụ web 1c là gì?

Dịch vụ web là một trong những cơ chế nền tảng được sử dụng để tích hợp với các hệ thống thông tin khác. Nó là phương tiện hỗ trợ SOA (Service-Oriented Architecture) - kiến ​​trúc hướng dịch vụ, là tiêu chuẩn hiện đại để tích hợp các ứng dụng và hệ thống thông tin. Trên thực tế, đây là cơ hội để tạo một trang html có dữ liệu, sau đó bất kỳ ứng dụng nào khác có thể truy cập và truy xuất dữ liệu này.

Ưu điểm - hoạt động nhanh chóng (ngay cả với lượng dữ liệu khá lớn), tương đối thuận tiện.

Nhược điểm - lập trình viên 1c của bạn sẽ càu nhàu với bạn trong một thời gian dài khi viết dịch vụ web cho cơ sở dữ liệu của bạn. Điều này rất đặc biệt trong văn bản.

Tôi sẽ không nói cho bạn biết cách viết dịch vụ web... Tôi sẽ cho bạn biết cách xuất bản nó trên Linux từ bảng điều khiển máy chủ, cũng như một chút về cách cài đặt máy chủ 1c trên Linux.

Vậy là chúng ta đã có debian 9 netinst, hãy bắt đầu nào:

Cài đặt PostgresPro (Xin lưu ý rằng nó không miễn phí và chỉ được phân phối như một phần để làm quen với các khả năng):

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

Hãy yêu cầu postgresql lắng nghe tất cả các địa chỉ chứ không chỉ localhost

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

Bỏ ghi chú và thay đổi địa chỉ để nghe:

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

Trên

...
listen_addresses = '*'
...

Tiếp theo, hãy cho phép người dùng từ mạng của chúng tôi đăng nhập

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

Hãy thay đổi:

# Kết nối cục bộ IPv4:
lưu trữ tất cả 127.0.0.1/32 md5

trên

lưu trữ tất cả 192.168.188.0/24 md5
lưu trữ tất cả 127.0.0.1/32 md5

Bạn có thể đọc thêm về các cài đặt Postgres khác nhau trong 1 giây đây.

Hơn nữa chúng tôi đặt 1s máy chủ.

Tải kho lưu trữ được tải xuống từ trang 1c lên máy chủ (trong trường hợp của tôi là deb64_8_3_15_1534.tar.gz)


# tar -xzf deb64_8_3_15_1534.tar.gz

# dpkg -i *.deb

một vài điều nhỏ nữa:

# apt install imagemagick unixodbc libgsf-bin

Bây giờ hãy cài đặt Apache2

# apt install apache2

Thông qua bảng điều khiển quản trị hoặc thông qua ứng dụng khách 1c, chúng tôi tạo cơ sở dữ liệu và điền cấu hình của mình ...

Bây giờ chúng tôi xuất bản cơ sở dữ liệu:

đi đến thư mục với 1 giây.

# 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

Chúng ta vào var/www/test/ và xem những gì xuất hiện ở đó.

# 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"
cơ sở="/Kiểm tra"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata enable=«false»
tái sử dụngSessions="tự động sử dụng"
phiênMaxAge="20"
kích thước hồ bơi="10"
poolTimeout="5"/>

«

Đây là các sơ đồ cần thiết để khởi chạy ứng dụng khách web 1c ... bây giờ bạn có thể truy cập cơ sở dữ liệu thử nghiệm của chúng tôi từ trình duyệt tại địa chỉ “http://ServerAddress/Test” (trường hợp này rất quan trọng! Đây là Linux) hoặc chỉ định địa chỉ địa chỉ “loại vị trí cơ sở” trong máy khách http://ServerAddress/Test" và máy khách sẽ làm việc với cơ sở dữ liệu đã xuất bản.

NHƯNG

Nhưng còn dịch vụ web thì sao? (trong cấu hình thử nghiệm của tôi có hai trong số đó: WebBuh để trao đổi dữ liệu với kế toán và tích hợp toplog với hệ thống wms của công ty cùng tên).

Chà, hãy thêm một vài dòng vào tệp vrd của chúng ta...


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»
tái sử dụngSessions="tự động sử dụng"
phiênMaxAge="20"
kích thước hồ bơi="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"/>

cứu.

Và bây giờ dịch vụ web của chúng tôi có sẵn tại "http://ServerAddress/Test/Web_buh.1cws?"

Tại sao bạn phải làm điều đó bằng tay?

Vì máy chủ của chúng tôi không có vỏ đồ họa nên việc chạy bộ cấu hình trên đó sẽ không hoạt động và do đó, xuất bản nó bằng các phương tiện thông thường. Bộ cấu hình từ xa được cài đặt trên máy khách không xuất bản các dịch vụ web trên máy chủ. Vì vậy, chúng ta phải chỉnh sửa config thủ công theo mẫu mô tả ở trên.

Tập lệnh để tạo .vrd - Cảm ơn TihonV

Nguồn: www.habr.com

Thêm một lời nhận xét