<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://itecfun.com/extern.php?action=feed&amp;tid=3414&amp;type=rss" rel="self" type="application/rss+xml" />
		<title><![CDATA[个人知识管理站 / 基于CentOS7+Geoserver2.16.0+Tomcat8.5搭建地图服务器环境]]></title>
		<link>http://www.itecfun.com/viewtopic.php?id=3414</link>
		<description><![CDATA[基于CentOS7+Geoserver2.16.0+Tomcat8.5搭建地图服务器环境 最近发表的帖子。]]></description>
		<lastBuildDate>Sun, 29 Dec 2019 11:54:15 +0000</lastBuildDate>
		<generator>FluxBB</generator>
		<item>
			<title><![CDATA[基于CentOS7+Geoserver2.16.0+Tomcat8.5搭建地图服务器环境]]></title>
			<link>http://www.itecfun.com/viewtopic.php?pid=3734#p3734</link>
			<description><![CDATA[<p>基于CentOS7+Geoserver2.16.0+Tomcat8.5搭建地图服务器环境<br />目 录<br />1.简介<br />2.搭建环境</p><p>(1)、安装jdk-8u231环境</p><p>(2)、安装 Tomcat</p><p>(3)、安装geoserver</p><p>(4) centos7 中 Tomcat 开机自动启动</p><p>(5)、安装PostgreSQL</p><p>3.安装过程中的相关问题</p><p>(1)、关闭默认防火墙</p><p>(2)、查看磁盘空间大小</p><p>(3)、扩展虚拟机vmware中centos7磁盘空间</p><p>(4)、VMware中centos7无法共享文件夹的问题</p><p>(5)、cannot change directory to /home/geoweb_cache: Permission denied</p><p>(6) phpPgAdmin登陆时提示Login disallowed for security reasons</p><p>1.简介<br />地图服务器软件环境，分为四部分： Tomcat 作为geoserver发布的容器， geoserver作为地图服务器， PostgresSQL数据库 PostGIS数据库插件，浏览器等， 可以说是开源WebGIS绝配，比较适合中小项目的地图环境搭建。 如果单单是做简单的地图服务器研究，一个Geoserver就够了。</p><p>jdk -8u231：Tomcat和Geoserver的运行都需要java环境的支持，需要安装对应的版本的jdk jdk 官网下载地址</p><p>Tomcat: Tomcat是Geoserver的容器，安装Tomcat之前一定要确定jdk已经安装成功 Tomcat官网下载地址</p><p>Geoserver： Geoserver是运行在浏览器端的地图服务器，用来发布地图服务，支持WMS、WFS、WPS等OGC标准服务。 Geoserver官网下载地址</p><p>PostgreSQL： PostgreSQL是开源数据库，用来承载我们用于构成地图的地理数据。虽然Geoserver支持直接将Shp数据发布成地图服务，但是在项目应用中，应尽量采用数据库形式来管理和存储地理数据。 PostgresSQL官方下载地址</p><p>PostGIS： PostGIS是一个PostgreSQL数据库插件，安装了PostGIS插件的pg数据库，将支持存储地理数据，支持各种空间运行操作。 PostGIS官方下载地址</p><p>浏览器： 发布地图服务，当然离不开浏览器。使用Geoserver作为地图服务器时，推荐使用谷歌浏览器。</p><p>2.搭建环境<br />搭建环境前，首先要了解自己的服务器系统配置，然后去各软件官网找到系统对于的版本下载。</p><p>本次搭建环境的软件信息如下：</p><p>centos 7<br />jdk-8u231<br />apache-tomcat-8.5.50<br />geoserver-2.16.0（war)<br />postgresql10<br />postgis30_10<br />(0)、CentOS 7<br />本GeoServer服务器采用CentOS 7 进行部署，系统通过vmware 虚拟机进行安装，由于CentOS7系统和Geoserver服务已经安装好了，只需将整个虚拟机相关文件拷贝到新的目录下，通过安装Vmare-workstation-12.1.1版本，添加现有虚拟机即可。 添加虚拟机之后，对于虚拟机的网路需要重新配置下，如下图所示：</p><p>先删除现有的vmnet8(NAT共享网络）</p><br /><br /><p>然后重新添加vmnet8 NAT共享网络</p><br /><br /><p>进行如下设置即可</p><br /><br /><p>配置完成网络之后，通过命令 systemctl restart network 重启网络服务即可</p><p>如果启动失败，可能是网络配置文件中的网卡mac地址与虚拟机新配置的网卡mac不一致，需要将配置文件中的mac地址改过来</p><p>查看： vi /etc/sysconfig/network-script/ifcfg-eno16777736 配置文件中的HWADD地址</p><br /><br /><p>再通过命令 ifconfig -a 查看网卡信息，找到eno16777736对应的mac地址，</p><br /><br /><p>将配置文件中的地址改为eno1677736对应的mac地址,通过命令 systemctl start network启动网络服务即可。</p><p>(1)、安装jdk-8u231环境<br />设置Java环境变量，注意：geoserver对Java版本有要求，安装Java前先看Geoserver官方文档中，你的Geoserver版本要求的Java版本。</p><p>参考：CentOS7下安装JDK1.8详细过程</p><p>(2)、安装 Tomcat<br />下载地址：https://tomcat.apache.org/download-80.cgi</p><br /><br /><p>下载之后解压缩到 CentOS7 系统的&quot;/opt/tomcat9/&quot;目录下，</p><p>配置server.xml文件中web访问的端口为8000，因为默认的8080端口已被占用。</p><p>进入/opt/tomcat9/bin/目录下，运行命令：</p><p># ./startup.sh<br />运行结果如下图所示：</p><br /><br /><p>表示tomcat已经启动成功，访问下地址：http://localhost:8000</p><br /><br /><p>表示tomcat8.5 已经安装成功。</p><p>(3)、安装geoserver<br />首先，在geoserver官网：http://geoserver.org/ 选择适当的软件版本，目前最新的是2.16.1，但一般不建议选择最新版本。 geoserver可以以jar包形式部署在toacat下，非常方便，我选择的是2.16.0版本，如下图所示：</p><br /><br /><p>进行下载页面，geoserver官网一般提供了三种软件包：</p><br /><br /><p>我选择Web Archive，下载文件是geoserer.war</p><p>将geoserver.war直接拷贝到tomcat/webapps/目录系安即可</p><p>重新启动tomcat，可以看到tomcat/webapps/目录下多了geoserver文件了</p><p>Alt text</p><p>这样，geoserver就可以作为一个Web应用程序，当启动Tomcat时，Geoserver服务将随之启动。 安装完geoserver后，如果你Java设置也没问题，启动geoserver服务，在浏览器中输入： http://localhost:8000/geoserver/web 就可以来到地图服务器首页了。使用默认用户名和密码登录后，即可发布在线地图服务。</p><p>Alt text</p><p>Geoserver集成的gwc切片处理<br />&#160; &#160; </p><p>(4)、centos7 中 Tomcat 开机自动启动<br />1、安装tomcat</p><p># cd /opt <br /># tar -zxvf apache-tomcat-8.5.50.tar.gz<br />安装包会被解压到/opt/apache-tomcat-8.5.50.tar.gz,将目录重命名为tomcat9</p><p># mv /opt/apache-tomcat-8.5.50.tar.gz /opt/tomcat9<br />配置tomcat9启动环境</p><p># vi /etc/profile.d/tomcat9.sh<br />export CATALINA_HOME=/usr/local/tomcat9<br />export PATH=$TOMCAT_HOME/bin:$PATH<br /># source /etc/profile.d/tomcat9.sh<br />使用systemd管理tomcat9服务</p><p># cat /usr/lib/systemd/system/tomcat9.service <br />[Unit]<br />Description=Apache Tomcat 9<br />After=syslog.target network.target remote-fs.target nss-lookup.target</p><p>[Service]<br />Type=forking<br />PIDFile=/opt/tomcat9/tomcat9.pid<br />ExecStart=/opt/tomcat9/bin/catalina.sh start -DEFOREGRAND<br />ExecReload=/bin/kill -s HUP $MAINPID<br />ExecStop=/bin/kill -s QUIT $MAINPID<br />RemainAfterExit=yes</p><p>[Install]<br />WantedBy=multi-user.target<br />2、配置tomcat9开机启动</p><p>在/usr/lib/systemd/system目录下增加tomcat9.service文件，内容如下：</p><p>[Unit]<br />Description=Tomcat<br />After=syslog.target network.target remote-fs.target nss-lookup.target</p><p>[Service]<br />Type=oneshot<br />ExecStart=/opt/tomcat9/bin/startup.sh<br />ExecStop=/opt/tomcat9/bin/shutdown.sh<br />ExecReload=/bin/kill -s HUP $MAINPID<br />RemainAfterExit=yes</p><p>[Install]<br />WantedBy=multi-user.target<br />退出并保存，执行systemctl enable tomcat使tomcat9随开机启动</p><p>#systemctl enable tomcat9.service<br />另外命令</p><p>systemctl start tomcat9.service&#160; &#160; 启动tomcat</p><p>systemctl stop tomcat9.service&#160; &#160; 关闭tomcat</p><p>systemctl restart tomcat9.service&#160; &#160; 重启tomcat<br />当然启动和结束tomcat也可以到tomcat的安装目录的bin目录下执行shutdown.sh startup.sh来完成</p><p>3、验证安装是否成功</p><p>输入 http://localhost:8000/</p><p>如果能出现熟悉的tomcat主页，就表示安装成功了，请确保服务器8000端口已经放开</p><p>(5)、安装PostgreSQL<br />参考文档</p><p>查看postgresql源</p><p>yum list | grep postgresql</p><br /><br /><p>选择对应的安装版本，运行如下命令：</p><p>yum install postgresql10.x86_64</p><p>安装phpPgAdmin:<br />yum install phpPgAdmin httpd</p><p>注意phpPgAdmin区分大小写，要准确使用上面所示的大小写！</p><p>若要远程访问需要继续：</p><p>编辑文件 /etc/httpd/conf.d/phpPgAdmin.conf</p><p>vi /etc/httpd/conf.d/phpPgAdmin.conf<br />修改如下加粗的部分：</p><p>Alias /phpPgAdmin /usr/share/phpPgAdmin</p><p>&lt;Location /phpPgAdmin&gt;<br />&#160; &lt;IfModule mod_authz_core.c&gt;<br />&#160; &#160; # Apache 2.4<br />&#160; &#160; Require all granted&#160; &#160;#改成这个<br />&#160; &#160; #Require host example.com<br />&lt;/IfModule&gt;<br />&#160; &lt;IfModule !mod_authz_core.c&gt;<br />&#160; &#160; &#160; &#160; # Apache 2.2<br />&#160; &#160; &#160; &#160; Order deny,allow&#160; &#160;#改成这个<br />&#160; &#160; &#160; &#160; Allow from all&#160; &#160; &#160;#改成这个<br />&#160; &#160; &#160; &#160; # Allow from .example.com<br />&#160; &#160; &lt;/IfModule&gt;<br />&lt;/Location&gt;<br />重启httpd服务</p><p>systemctl enable httpd</p><p>systemctl start httpd</p><p>默认使用http://localhost/phpPgAdmin 访问phpPgAdmin</p><p>Configuration error: Copy conf/config.inc.php-dist to conf/config.inc.php and edit appropriately.<br />[root@localhost ~]# find / -name config.inc.php-dist<br />/etc/phpPgAdmin/config.inc.php-dist<br />/usr/share/phpPgAdmin/conf/config.inc.php-dist<br />[root@localhost ~]# <br />[root@localhost ~]# cp /etc/phpPgAdmin/config.inc.php-dist<br />(6)、安装PostGIS。<br />安装配置官网资料</p><p>查看postgresql源</p><p>yum list | grep postgis</p><br /><br /><p>选择已安装的postsql版本 对应的postgis版本进行安装</p><p>yum install postgis30_10.x86_64</p><p>安装完成后，需要在对应的数据库中执行脚本</p><p>-- Enable PostGIS (as of 3.0 contains just geometry/geography)<br />CREATE EXTENSION postgis;<br />-- enable raster support (for 3+)<br />CREATE EXTENSION postgis_raster;<br />-- Enable Topology<br />CREATE EXTENSION postgis_topology;<br />-- Enable PostGIS Advanced 3D<br />-- and other geoprocessing algorithms<br />-- sfcgal not available with all distributions<br />CREATE EXTENSION postgis_sfcgal;<br />-- fuzzy matching needed for Tiger<br />CREATE EXTENSION fuzzystrmatch;<br />-- rule based standardizer<br />CREATE EXTENSION address_standardizer;<br />-- example rule data set<br />CREATE EXTENSION address_standardizer_data_us;<br />-- Enable US Tiger Geocoder<br />CREATE EXTENSION postgis_tiger_geocoder;<br />PostGIS安装后，自带了将Shp数据导入Postgres数据库的工具，可以用来向数据库导入你的GIS数据。在导入之前，先要创建一个数据库。我这里建的postgis数据库，使用pgAdmin4网页版，通过Tools&gt;Query Tool 打开Query Editor</p><p>将上面脚本拷贝到编辑器中执行 结果如下图所示：</p><br /><br /><p>3.安装过程中的相关问题<br />(1)、关闭默认防火墙<br />查看防火墙状态</p><p>firewall-cmd --state</p><p>停止firewall</p><p>systemctl stop firewalld.service</p><p>禁止firewall开机启动</p><p>systemctl disable firewalld.service</p><p>关闭selinux</p><p>进入到 /etc/selinux/config 文件</p><p>vi /etc/selinux/config<br />将 SELINUX=enforcing改为 SELINUX=disabled</p><p>(2) 查看磁盘空间大小<br />命令：</p><p># df -hl<br />显示：</p><p>文件系统 容量 已用 可用 已用% 挂载点</p><p>Filesystem Size Used Avail Use% Mounted on</p><p>/dev/hda2 45G 19G 24G 44% / /dev/hda1 494</p><p>其他磁盘相关命令：</p><p>df -hl 查看磁盘剩余空间&#160; &#160; &#160;<br />df -h 查看每个根路径的分区大小&#160; &#160; &#160;<br />du -sh [目录名] 返回该目录的大小&#160; &#160; &#160;<br />du -sm [文件夹] 返回该文件夹总M数&#160; &#160; &#160;<br />du -h [目录名] 查看指定文件夹下的所有文件大小（包含子文件夹）</p><p>查看硬盘的分区 #sudo fdisk -l&#160; &#160; &#160;<br />查看IDE硬盘信息 #sudo hdparm -i /dev/hda&#160; &#160; &#160;<br />查看STAT硬盘信息 #sudo hdparm -I /dev/sda 或 #sudo apt-get install blktool #sudo blktool /dev/sda id&#160; &#160; &#160;<br />查看硬盘剩余空间 #df -h #df -H&#160; &#160; &#160;<br />查看目录占用空间 #du -hs 目录名<br />(3)、扩展虚拟机vmware中centos7磁盘空间<br />0、思路</p><p>创建一个新的逻辑分区，将新的逻辑分区格式化ext3（或其他类型）的文件系统，mount到磁盘空间不够的文件系统，就跟原来的分区/文件系统一样的使用</p><p>1、准备</p><p>1.1 注意使用VMware自带的Expand功能不能有Snapshot存在，所以在expand之前先把所有的Snapshot删掉了</p><p>1.2 为了以防万一，把VMware虚拟机copy了一份备用。</p><p>2、查看挂载点</p><p>[root@geoserver py_user]# df -hl <br />文件系统&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;容量&#160; 已用&#160; 可用 已用% 挂载点<br />devtmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;1.4G&#160; &#160; &#160;0&#160; 1.4G&#160; &#160; 0% /dev<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 1.4G&#160; 8.0K&#160; 1.4G&#160; &#160; 1% /dev/shm<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 1.4G&#160; &#160;11M&#160; 1.4G&#160; &#160; 1% /run<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 1.4G&#160; &#160; &#160;0&#160; 1.4G&#160; &#160; 0% /sys/fs/cgroup<br />/dev/mapper/centos-root&#160; &#160;18G&#160; &#160;18G&#160; &#160;32K&#160; 100% /<br />/dev/sda1&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 497M&#160; 296M&#160; 202M&#160; &#160;60% /boot<br />shm&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;64M&#160; &#160; &#160;0&#160; &#160;64M&#160; &#160; 0% /var/lib/docker/containers/fe4541c83afb7864f65bef244ec2bc309674e90e22f1a665575c83fdb7d2c085/mounts/shm<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 283M&#160; &#160; &#160;0&#160; 283M&#160; &#160; 0% /run/user/0<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 283M&#160; 4.0K&#160; 283M&#160; &#160; 1% /run/user/42<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 283M&#160; &#160;20K&#160; 283M&#160; &#160; 1% /run/user/1000<br />[root@geoserver py_user]#<br />3、扩展磁盘空间</p><p>扩展VMWare硬盘空间</p><p>3.1 关闭Vmware 的 Linux系统</p><p>3.2 在VMWare菜单中设置：</p><p>VM -&gt; Settings… -&gt; Hardware -&gt; Hard Disk -&gt; Utilities -&gt; Expand</p><p>输入你想要扩展到多少G，假设新增加了 40G</p><br /><br /><p>4、对新增加的硬盘进行分区</p><p>执行步骤：</p><p>执行“fdisk /dev/sda”，进入到fdisk<br />输入p指令，查看已分区数量（有两个 /dev/sda1 /dev/sda2）<br />输入 n {new partition}指令，新增加一个分区<br />输入p {primary partition}，分区类型选择为主分区<br />输入分区号 3 {partition number} ，分区号选3（上面显示我已经有2个分区了）<br />回车 默认（起始扇区）<br />回车 默认（结束扇区）<br />输入t {change partition id}指令，修改分区类型<br />按提示输入刚才的分区号3<br />输入分区类型 8e {Linux LVM partition}<br />输入w指令，将以上改动写入分区表<br />最后完成，退出fdisk命令<br />[root@vnode1 ~]# fdisk /dev/sda<br />欢迎使用 fdisk (util-linux 2.23.2)。 <br />更改将停留在内存中，直到您决定将更改写入磁盘。<br />使用写入命令前请三思。 <br />命令(输入 m 获取帮助)：p<br />设备 Boot&#160; &#160; &#160; Start&#160; &#160; &#160; &#160; &#160;End&#160; &#160; &#160; Blocks&#160; &#160;Id&#160; System<br />/dev/sda1&#160; &#160;*&#160; &#160; &#160; &#160; 2048&#160; &#160; &#160;1026047&#160; &#160; &#160; 512000&#160; &#160;83&#160; Linux<br />/dev/sda2&#160; &#160; &#160; &#160; &#160;1026048&#160; &#160; 83886079&#160; &#160; 41430016&#160; &#160;8e&#160; Linux LVM<br />命令(输入 m 获取帮助)：n<br />Partition type:<br />&#160; &#160;p&#160; &#160;primary (2 primary, 0 extended, 2 free)<br />&#160; &#160;e&#160; &#160;extended<br />Select (default p): p<br />分区号 (3,4，默认 3)：3<br />起始 扇区 (83886080-167772159，默认为 83886080)：<br />将使用默认值 83886080<br />Last 扇区, +扇区 or +size{K,M,G} (83886080-167772159，默认为 167772159)：<br />将使用默认值 167772159<br />分区 3 已设置为 Linux 类型，大小设为 40 GiB<br />命令(输入 m 获取帮助)：t<br />分区号 (1-3，默认 3)：3<br />Hex 代码(输入 L 列出所有代码)：8e<br />已将分区“Linux”的类型更改为“Linux LVM”<br />命令(输入 m 获取帮助)：w<br />The partition table has been altered!<br />Calling ioctl() to re-read partition table.<br />WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.<br />The kernel still uses the old table. The new table will be used at<br />the next reboot or after you run partprobe(8) or kpartx(8)<br />正在同步磁盘。<br />重启系统:</p><p>[root@vnode1 ~]# reboot<br />5、对新增加的硬盘格式化</p><p>[root@vnode1 ~]# mkfs.ext3 /dev/sda3<br />mke2fs 1.42.9 (28-Dec-2013)<br />文件系统标签=<br />OS type: Linux<br />块大小=4096 (log=2)<br />分块大小=4096 (log=2)<br />Stride=0 blocks, Stripe width=0 blocks<br />2621440 inodes, 10485760 blocks<br />524288 blocks (5.00%) reserved for the super user<br />第一个数据块=0<br />Maximum filesystem blocks=4294967296<br />320 block groups<br />32768 blocks per group, 32768 fragments per group<br />8192 inodes per group<br />Superblock backups stored on blocks: <br />&#160; &#160; 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, <br />&#160; &#160; 4096000, 7962624</p><p>Allocating group tables: 完成&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; <br />正在写入inode表: 完成&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; <br />Creating journal (32768 blocks): 完成<br />Writing superblocks and filesystem accounting information: 完成<br />6、添加新LVM到已有的LVM组，实现扩容</p><p>lvm&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 进入lvm管理&#160; <br />lvm&gt; pvcreate /dev/sda3&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 这是初始化刚才的分区，必须的&#160; <br />lvm&gt;vgextend centos /dev/sda3&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 将初始化过的分区加入到虚拟卷组vg_dc01<br />lvm&gt;lvextend -L +39.9G /dev/mapper/centos-root&#160; 扩展已有卷的容量<br />lvm&gt;pvdisplay&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;查看卷容量，这时你会看到一个很大的卷了<br />lvm&gt;quit&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 退出<br />[root@vnode1 ~]# lvm<br />lvm&gt; pvcreate /dev/sda3<br />WARNING: ext3 signature detected on /dev/sda3 at offset 1080. Wipe it? [y/n]: y<br />&#160; Wiping ext3 signature on /dev/sda3.<br />&#160; Physical volume &quot;/dev/sda3&quot; successfully created<br />lvm&gt; vgextend centos /dev/sda3 <br />&#160; Volume group &quot;centos&quot; successfully extended<br />lvm&gt; lvextend -L +39.9G /dev/mapper/centos-root<br />&#160; Rounding size to boundary between physical extents: 39.90 GiB<br />&#160; Size of logical volume centos/root changed from 35.47 GiB (9080 extents) to 75.37 GiB (19295 extents).<br />&#160; Logical volume root successfully resized.<br />lvm&gt; pvdisplay<br />&#160; --- Physical volume ---<br />&#160; PV Name&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;/dev/sda2<br />&#160; VG Name&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;centos<br />&#160; PV Size&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;39.51 GiB / not usable 3.00 MiB<br />&#160; Allocatable&#160; &#160; &#160; &#160; &#160; &#160;yes (but full)<br />&#160; PE Size&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;4.00 MiB<br />&#160; Total PE&#160; &#160; &#160; &#160; &#160; &#160; &#160; 10114<br />&#160; Free PE&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;0<br />&#160; Allocated PE&#160; &#160; &#160; &#160; &#160; 10114<br />&#160; PV UUID&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;vtNvX3-b1yw-ePoh-YGHQ-tDhL-x0ru-mfts3k</p><p>&#160; --- Physical volume ---<br />&#160; PV Name&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;/dev/sda3<br />&#160; VG Name&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;centos<br />&#160; PV Size&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;40.00 GiB / not usable 4.00 MiB<br />&#160; Allocatable&#160; &#160; &#160; &#160; &#160; &#160;yes <br />&#160; PE Size&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;4.00 MiB<br />&#160; Total PE&#160; &#160; &#160; &#160; &#160; &#160; &#160; 10239<br />&#160; Free PE&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;34<br />&#160; Allocated PE&#160; &#160; &#160; &#160; &#160; 10205<br />&#160; PV UUID&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;jWqvcF-R53u-ZeAy-zO2L-PbtI-51VP-yHNZ1g</p><p>lvm&gt; quit<br />&#160; Exiting.<br />[root@vnode1 ~]#<br />7.以上只是卷扩容了，下面是文件系统的真正扩容，输入以下命令：</p><p>[root@vnode1 ~]# resize2fs /dev/mapper/centos-root<br />resize2fs 1.42.9 (28-Dec-2013)<br />resize2fs: Bad magic number in super-block 当尝试打开 /dev/mapper/centos-root 时<br />找不到有效的文件系统超级块.<br />报错：当尝试打开 /dev/mapper/centos-root 时 找不到有效的文件系统超级块</p><p>因为我的centos7的某些分区用的是xfs的文件系统（使用df -T查看即可知道）</p><p>[root@vnode1 ~]# df -T<br />文件系统&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 类型&#160; &#160; &#160; &#160; 1K-块&#160; &#160; 已用&#160; &#160; &#160;可用 已用% 挂载点<br />/dev/mapper/centos-root xfs&#160; &#160; &#160; 37173520 5574340 31599180&#160; &#160;15% /<br />devtmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; devtmpfs&#160; 3987400&#160; &#160; &#160; &#160;0&#160; 3987400&#160; &#160; 0% /dev<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;tmpfs&#160; &#160; &#160;3997856&#160; &#160; &#160; &#160;0&#160; 3997856&#160; &#160; 0% /dev/shm<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;tmpfs&#160; &#160; &#160;3997856&#160; &#160; 8628&#160; 3989228&#160; &#160; 1% /run<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;tmpfs&#160; &#160; &#160;3997856&#160; &#160; &#160; &#160;0&#160; 3997856&#160; &#160; 0% /sys/fs/cgroup<br />/dev/sda1&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;xfs&#160; &#160; &#160; &#160; 508588&#160; 127152&#160; &#160;381436&#160; &#160;26% /boot<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;tmpfs&#160; &#160; &#160; 799572&#160; &#160; &#160; &#160;0&#160; &#160;799572&#160; &#160; 0% /run/user/0<br />[root@vnode1 ~]#<br />将resize2fs替换为xfs_growfs，重新执行一遍即可，如下：</p><p>[root@vnode1 ~]# xfs_growfs /dev/mapper/centos-root<br />meta-data=/dev/mapper/centos-root isize=256&#160; &#160; agcount=4, agsize=2324480 blks<br />&#160; &#160; &#160; &#160; &#160;=&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;sectsz=512&#160; &#160;attr=2, projid32bit=1<br />&#160; &#160; &#160; &#160; &#160;=&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;crc=0&#160; &#160; &#160; &#160; finobt=0<br />data&#160; &#160; &#160;=&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;bsize=4096&#160; &#160;blocks=9297920, imaxpct=25<br />&#160; &#160; &#160; &#160; &#160;=&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;sunit=0&#160; &#160; &#160; swidth=0 blks<br />naming&#160; &#160;=version 2&#160; &#160; &#160; &#160; &#160; &#160; &#160; bsize=4096&#160; &#160;ascii-ci=0 ftype=0<br />log&#160; &#160; &#160; =internal&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;bsize=4096&#160; &#160;blocks=4540, version=2<br />&#160; &#160; &#160; &#160; &#160;=&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;sectsz=512&#160; &#160;sunit=0 blks, lazy-count=1<br />realtime =none&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;extsz=4096&#160; &#160;blocks=0, rtextents=0<br />data blocks changed from 9297920 to 19758080<br />最后再运行下：df -h</p><p>即可看到扩容后的磁盘空间</p><p>[root@vnode1 ~]# df -h<br />文件系统&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;容量&#160; 已用&#160; 可用 已用% 挂载点<br />/dev/mapper/centos-root&#160; &#160;76G&#160; 5.4G&#160; &#160;71G&#160; &#160; 8% /<br />devtmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;3.9G&#160; &#160; &#160;0&#160; 3.9G&#160; &#160; 0% /dev<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 3.9G&#160; &#160; &#160;0&#160; 3.9G&#160; &#160; 0% /dev/shm<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 3.9G&#160; 8.5M&#160; 3.9G&#160; &#160; 1% /run<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 3.9G&#160; &#160; &#160;0&#160; 3.9G&#160; &#160; 0% /sys/fs/cgroup<br />/dev/sda1&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 497M&#160; 125M&#160; 373M&#160; &#160;26% /boot<br />tmpfs&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; 781M&#160; &#160; &#160;0&#160; 781M&#160; &#160; 0% /run/user/0<br />(4)、VMware中centos7无法共享文件夹的问题<br />在安装虚拟机VMware之后安装系统想要把windows的目录共享在centos下面,但是我们按照centos6的挂在方法发现不管用.在网上找了半天才知道centos7的VMware tools和centos6的不一样,需要重新再安装一次,用yum安装,而不是在VMware软件里面安装!!</p><p>1.先安装VMware软件里VMwareTools</p><br /><br /><p>没安装过的,点击安装,我的已经安装过了</p><p>然后挂载镜像</p><p>[root@centos7 ~]# mkdir /dvd<br />[root@centos7 ~]# mount /dev/cdrom /dvd<br />mount: /dev/sr0 is write-protected, mounting read-only<br />[root@centos7 ~]# cd /dvd/<br />[root@centos7 dvd]# ls<br />manifest.txt&#160; run_upgrader.sh&#160; VMwareTools-10.2.5-8068393.tar.gz&#160; vmware-tools-upgrader-32&#160; vmware-tools-upgrader-64<br />[root@centos7 dvd]# cp&#160; VMwareTools-10.2.5-8068393.tar.gz /root/<br />[root@centos7 dvd]# cd /root/<br />[root@centos7 ~]# tar xf VMwareTools-10.2.5-8068393.tar.gz<br />[root@centos7 ~]# cd vmware-tools-distrib/<br />[root@centos7 vmware-tools-distrib]# ./vmware-install.pl<br />然后一直回车就行</p><p>2.系统下安装vmtools:</p><p>安装相关软件包</p><p>yum install open-vm-tools *headers perl gcc make kernel-devel -y<br />安装完成就关闭系统,配置共享文件夹</p><p>3.配置VMware</p><p>右击虚拟机,点击配置,点击选项,如图所示:</p><br /><br /><p>点击浏览,选择你要共享的文件夹,然后下一步就完成了</p><br /><br /><p>4.配置完成了,启动系统就可以看到共享的文件夹/mnt/hgfs</p><p>记住:/mnt/hgfs这个文件夹不是手动创建的,是安装完成vmtools后产生的! 我们进入这个文件夹,但是并没有我们想要的共享文件夹,hgfs是空的,这是应为我们没有挂载.这里不像是centos6,给我们自动挂载的! 这可能是mnt缺少共享支持，打开terminal输入mount -t vmhgfs .host:/py_script /mnt/hgfs挂载该共享文件夹 我们可以用命令查看共享的文件夹</p><p>vmware-hgfsclient<br />5.然后挂载就可以使用了</p><p>mount -t vmhgfs .host:/share /mnt/hgfs<br />如果出现：Error: cannot mount filesystem: No such device这样的报错</p><p>则再运行</p><p>vmhgfs-fuse .host:/share /mnt/hgfs<br />往往就成功了（前提是VMware Tools安装已成功）</p><p>到此为止，可以正常使用共享文件夹了，但每次都要重新mount挂载一次，所以设置为启动后自动挂载：</p><p>进入/mnt/hgfs下面就有文件了</p><p>6.fuse: mountpoint is not empty</p><p>一定要加allow_other选项，不然之后的hgfs文件普通用户不能访问</p><p>如果之前没有加-o allow_other，已经使得文件hgfs在普通用户环境下不可访问，也就是提示了</p><p>fuse: mountpoint is not empty<br />fuse: if you are sure this is safe, use the &#039;nonempty&#039; mount option<br />可将nonempty选项加到里面去</p><p>sudo vmhgfs-fuse .host:/share /mnt/hgfs -o nonempty -o allow_other<br />重新执行命令即可.</p><p>7.开机自动挂载共享</p><p>为确保开机自动挂载共享文件夹，将命令写入/etc/rc.d/rc.local 并赋权限：</p><p>echo &quot;mount -t vmhgfs .host:/share /mnt/hgfs&quot; &gt;&gt; /etc/rc.d/rc.local<br />echo &quot;vmhgfs-fuse .host:/share /mnt/hgfs&quot; &gt;&gt; /etc/rc.d/rc.local<br />echo &quot;vmhgfs-fuse .host:/py_script /mnt/hgfs&quot; &gt;&gt; /etc/rc.d/rc.local</p><p>chmod 750 /etc/rc.d/rc.local<br />(5)、cannot change directory to /home/oracle: Permission denied<br />su: /bin/bash: Permission denied 带来的疑惑<br />在root用户下，su到一个普通用户oracle，得到如下错误:</p><p>[root@localhost ~]# su -root<br />su: warning: cannot change directory to /home/geoweb_cache: Permission denied<br />su: /bin/bash: Permission denied<br />而root用户也无法通过直接登录，出现同样错误。</p><p>这是一个非常奇怪的问题，到底是什么导致的呢？思路如下：</p><p>1，程序执行权限问题<br />2，程序依赖的共享库权限问题<br />3，目录权限问题<br />4，根空间问题。<br />检查/bin/bash，权限正确，检查/home/root权限正确，检查/lib/ld-***.so，权限也正确。</p><p>继续调试，检查/etc/passwd，将root的home设置为/tmp，把/tmp设置为777，这个权限应该是最宽松的。 而su出现同样的错误。</p><p>也就是root用户无法访问777权限的/tmp。</p><p>问题到底出现在哪里呢？</p><p>最后通过star命令，看到了问题根本，</p><p>[root@localhost ~]#stat /<br />输出如下：因为你ls是看不到的。<br />File: “/”&gt;<br />Size: 1024&#160; &#160; &#160; &#160; &#160; &#160; Blocks: 2&#160; &#160; &#160; &#160; &#160; IO Block: 1024&#160; &#160;目录<br />Device: 803h/2051d&#160; &#160; &#160; Inode: 2&#160; &#160; &#160; &#160; &#160; &#160;Links: 22<br />Access: (0666/drw-rw-rw-) Uid: (&#160; &#160; 0/&#160; &#160; root)&#160; &#160;Gid: (&#160; &#160; 0/&#160; &#160; root)<br />Access: 2007-12-01 22:28:48.000000000 +0800<br />Modify: 2007-12-01 22:28:34.000000000 +0800<br />Change: 2007-12-01 23:17:35.000000000 +0800<br />问题出来了，这里的权限是错误的，X权限的丢失造成的。</p><p>[root@localhost ~]#chmod 755 /<br />修改后,问题消失。</p><p>产生上述问题的方法： 第一种，chmod 666 /，可以导致。 或者， 第二种，chmod 700 /lib/ld-xxxx.so，也可以导致su失败。 有兴趣可以自己试一下。</p><p>/ 权限的丢失对于各种运行在自己用户身份上的daemon也存在同样的影响。</p><p>2.修改默认数据目录</p><p>Postgresql默认的数据目录是/var/lib/pgsql/版本号/data目录，这要求你在/var下有足够的存储空间，我们这里将其换掉，假设/home的空间很大。</p><p>首先在/home下创建一个Postgresql的数据目录，指定所有者postgres同时分配权限</p><p>mkdir /home/psql_data<br />chown postgres:postgres /home/psql_data<br />chmod 750 /home/psql_data</p><p>- 注意：修改数据目录之后，如果需要允许远程访问，需要重新设置 <br />- /home/postgresql_data/pg_hba.conf<br />- /home/postgresql_data/postgresql.conf<br />两个文件的相关参数</p><p>设置环境变量</p><p>export PATH=/usr/pgsql-10/bin:$PATH<br />export LD_LIBRARY_PATH=/usr/pgsql-10/lib<br />export PGDATA=/home/postgresql_data<br />切换到postgres用户，使用initdb初始化数据库，这样在/home/postgresql_data下会增加很多东西，</p><p>(6) phpPgAdmin登陆时提示Login disallowed for security reasons<br />find / -name config.inc.php <br />vi /etc/phpPgAdmin/config.inc.php<br />修改</p><p>$conf[&#039;extra_login_security&#039;] = true;<br />为</p><p>$conf[&#039;extra_login_security&#039;] = false;<br />重启postgresql服务</p><p>systemctl restart postgresql-10.service</p><p>重新访问即可。</p>]]></description>
			<author><![CDATA[dummy@example.com (xuyg)]]></author>
			<pubDate>Sun, 29 Dec 2019 11:54:15 +0000</pubDate>
			<guid>http://www.itecfun.com/viewtopic.php?pid=3734#p3734</guid>
		</item>
	</channel>
</rss>
