openeuler系统从源码搭建服务器(postgis篇)

本文详细介绍了如何在openeuler系统上搭建基于django的开发环境,特别是涉及了从源码安装python3.6.8、django3.2.12、postgresql14.0和postgis的过程,以及配置空间后端的步骤。主要目标是将原有的centos7后端迁移到openeuler,并实现空间位置和工程信息的一体化管理。
摘要由CSDN通过智能技术生成

1 项目简介

目标:把原centos7后端迁移到openeuler。
后端简介:利用geodjango开发的工程管理平台后端,可以实现空间位置和工程信息的一体化管理。
主要模块:python3.6.8、django3.2.12、postgresql14.0、postgis、nginx。

2 搭建开发环境

2.1 安装python3.6.8

openeuler自带了python3.9,但不适合项目部署,需要安装3.6.8版本。由于欧拉系统yum安装的为3.9版本,因此只能通过源码安装python3.6.8。源码通过官网下载,下载解压后进入到解压目录,执行以下命令。

./configure
make && make install

configure后会提示可用python高性能模式,千万不要试,否则会进入make死循环。如果安装过程中提示缺少依赖包,yum安装即可。

2.2 安装django

(1)django是python的一个模块,安装django之前要确定系统上安装了python。linux系列系统都自带python,只需检查python版本即可。
查看python版本:

# python3
Python 3.6.8 

(2)安装django,安装正式版本django即可,通过pip安装。

pip3 install django==3.2.12 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

查看安装的django版本:

>>>import django
>>>print(django.get_version())
3.2.12

我安装的是3.2.12版本。
(3)安装sqlite3.9以上版本,系统自带的3.7版本太低,会报错。通过官网下载源码安装最新版。

wget https://www.sqlite.org/2022/sqlite-autoconf-3390400.tar.gz
tar xzf sqlite-autoconf-3390400.tar.gz
cd sqlite-autoconf-3390400

到这一步之后不要急着configure,需要手动增加编译项。此处不增加编译项并不会影响sqlite的安装和django项目的创建,但是会导致后续空间数据迁移时出错。

vim sqlite3.c
#define SQLITE_CORE 1                                                     
#define SQLITE_AMALGAMATION 1                                             
#ifndef SQLITE_PRIVATE                                                    
# define SQLITE_PRIVATE static                                            
#endif                                                                                                                                           
//新增编译项                                                                 
#define SQLITE_ENABLE_COLUMN_METADATA 1

完成对sqlite3.c文件的修改后即可进行安装操作。

./configure
make
make install
make clean

完成sqlite安装后,需添加环境变量,否则python无法找到新安装的sqlite。将/usr/local/lib添加至LD_LIBRARY_PATH:

vim /etc/profile
export LD_LIBRARY_PATH=/usr/local/lib

(4)创建django项目和app:

cd /usr
python3 -m django startproject mysite
cd mysite
python3 manage.py startapp gisapp

(5)完成此步骤后,django相关内容暂告一段落,settings.py文件配置后续再做介绍。

2.3 安装postgresql

(1)postgresql推荐源码安装,centos7平台利用yum安装的postgresql-14实际上是postgresql9.2,与项目需要的其它库存在不兼容情况,在应用中会各种报错。本项目安装的是14.0版本,源码在官网下载。
下载14.0源码(我的所有软件安装在了/usr/local文件夹):

cd /usr/local
wget https://ftp.postgresql.org/pub/source/v14.0/postgresql-14.0.tar.gz

(2)解压并cd至解压好的文件夹:

tar xzf postgresql-14.0.tar.gz
cd postgresql-14.0

(3)编译安装源码(make clean并非必须的,作用是清除编译安装过程文件):

./configure
make
su
make install
make clean

(4)若安装过程失败提示缺少readline和zlib,安装readline-devel和zlib-devel即可。

yum install readline-devel
yum install zlib-devel

(5)创建系统用户postgres,postgresql不能在root用户下操作,习惯性创建用户postgres,也可创建其它名字的用户。postgresql会自动创建一个同名数据库管理员账户和数据库。

adduser postgres

(6)创建data文件夹,并赋权限给postgres用户:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值