GVKun编程网logo

Centos tomcat+mysql+ftp 网站服务器搭建指南(centos ftp服务器怎么搭建)

2

这篇文章主要围绕Centostomcat+mysql+ftp网站服务器搭建指南和centosftp服务器怎么搭建展开,旨在为您提供一份详细的参考资料。我们将全面介绍Centostomcat+mysql

这篇文章主要围绕Centos tomcat+mysql+ftp 网站服务器搭建指南centos ftp服务器怎么搭建展开,旨在为您提供一份详细的参考资料。我们将全面介绍Centos tomcat+mysql+ftp 网站服务器搭建指南的优缺点,解答centos ftp服务器怎么搭建的相关问题,同时也会为您带来.Net 连接 FTP 下载文件报错:System.InvalidOperationException: The requested FTP command is not supported whe...、C# FTP 上传文件时出现 "应 PASV 命令的请求,服务器返回了一个与 FTP 连接地址不同的地址。" 的错误、centos7 ftp 500 OOPS: cannot change directory:/var/ftp/xutong/、CentOS7 安装及配置 vsftpd (FTP 服务器 FTP 账号创建以及权限设置)的实用方法。

本文目录一览:

Centos tomcat+mysql+ftp 网站服务器搭建指南(centos ftp服务器怎么搭建)

Centos tomcat+mysql+ftp 网站服务器搭建指南(centos ftp服务器怎么搭建)

1、先配置vsftp用户和路径

#adduser -d /home/dthl -g ftp -s /sbin/nologin srsman

#passwd srsman

changing password for user beinan.

New password:

Retype new password:

passwd: all authentication tokens updated successfully.

这样就为系统新增了一个名为srsman,目录指向为/home/dthl的ftp 用户


#setsebool -P ftpd_disable_trans 1

#setsebool -P ftp_home_dir on

给目录权限,增删改权限

#chown ftp /home/dthl

#chmod 777 /home/dthl

如果一切配置好了以后,登录ftp的时候还是报连接错误,无法登陆的错误,请尝试关闭防火墙,然后重启vsftpfuw

#service iptables stop

#service vsftpd restart

**/

2、将本地的项目文件打包为zip文件,上传到服务器上

#zip -q -r gwnew.zip GW

解压项目文件到GW这个文件夹下

centos 下安装 gcc编辑器

#yum -y install gcc-c++

3、配置JDK环境

上传jdk版本安装包到服务器上,jdk-1_5_0_06-linux-i586.bin

#chmod 755jdk-1_5_0_06-linux-i586.bin

#./jdk-1_5_0_06-linux-i586.bin

#java -version 显示jdk版本,jdk安装成功

配置环境变量

#vim /etc/profile

在打开的文件下面加入下面内容

export JAVA_HOME=/usr/java/jdk1.6.0_45

export JAVA_BIN=/usr/java/jdk1.6.0_45/bin

export PATH=$JAVA_HOME/bin:$PATH

export CLAsspATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLAsspATH

然后执行#source /etc/profile 使配置生效

4、安装MysqL

下载MysqL-client-4.0.16-0.i386.rpmMysqL客户端安装包,并上传到服务器,下载MysqL-server-5.1.7-0.i386.rpm MysqL服务端安装包,并上传到服务器。

进入安装包所在文件夹下,执行命令

#rpm -ivh MysqL-client-4.0.16-0.i386.rpm

#rpm -ivh MysqL-server-5.1.7-0.i386.rpm

如果安装报错,与原先版本冲突的话,就执行下面语句查询现有MysqL版本信息

#rpm -qa |grep -i MysqL

我这边显示已经安装了MysqL-libs-5.1.61.e16.i686这个文件

那我们需要先强制删除该冲突文件才能使安装成功,执行删除命令:

#rpm -e --nodepsMysqL-libs-5.1.61.e16.i686

删除成功后重新执行安装命令,再次安装就好了

#service MysqL start 启动MysqL服务

一、更改root初始密码:

#/usr/bin/MysqLadmin -u root password '123456'

如果出现以下错误的话:

Can't turn off logging; error: 'Access denied; you need (at least one of) the SUPER privilege(s) for

修改/etc/my.cnf 文件,在MysqLd 下加入一行skip-grant-tables 然后重新启动MysqL服务,使用#MysqL

#use MysqL;

#update user set Password=PASSWORD('你的密码') where user = 'root';

#flush privileges;

#exit;

然后把刚才的my.cnf文件改回来,重启MysqL 服务。

二、想要支持内网都能访问数据库,修改localhost

#MysqL -uroot -p 登录MysqL

MysqL>use MysqL

MysqL>update user set host = '%' where user = 'root';

MysqL>select host,user,from user;

MysqL>FLUSH PRIVILEGES;

三、泛授权,赋予任何主机上以root身份访问数据库

MysqL>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;

MysqL>FLUSH PRIVILEGES;

四、更改MysqL目录

1、在home下建立data目录

#cd home

#mkdir data

2、关闭MysqL服务进程

#MysqLadmin -u root -p shutdown

3、把/var/lib/mysl整个目录移动到/home/data下

#mv /var/lib/MysqL /home/data

4、找到my.cnf配置文件

如果/etc/目录下没有my.cnf配置文件,请到/usr/share/MysqL/下找到*.cnf文件,拷贝其中一个到/etc/并改名为my.cnf中,命令如下:

#cp /usr/share/MysqL/my-medium.cnf /etc/my.cnf

5、编辑/etc/my.cnf配置文件

为了保证MysqL能够正常工作,需要指明MysqL.sock文件的产生位置

修改socket=/var/lib/MysqL/MysqL.sock一行中等号右边的位置为新位置:/home/data/MysqL/MysqL.sock。操作如下

#vim my.cnf

6、修改MysqL启动脚本/etc/rc.d/init.d/MysqL

#vim /etc/rc.d/init.d/MysqL

将datadir=/var/lib/MysqL改为datadir=/home/data/MysqL

7、重新启动MysqL服务

#service MysqL restart

如果重启发生错误:Starting MysqL. ERROR! The server quit without updating PID file (/home/data/MysqL/localhost.localdomain.pid).

这个是因为linux 默认是执行原来的程序机制,不容许篡改启动项,所以他不认识这个新的启动socket

解决方法是:

#vim /etc/selinux/config

将SELINUX=enforcing和SELINUXTYPE=targeted 用#注释掉
在下面新加SELINUX=disabled
然后执行
#setenforce 0
立即执行生效


5、配置tomcat

上传apache-tomcat-6.0.18.tar.gz到服务器
#tar zxvfapache-tomcat-6.0.18.tar.gz
#cdapache-tomcat-6.0.18
#cd bin
关闭tomcat #./shutdown.sh
#cd ..
#cd conf
#vim server.xml

修改端口号,将port="8080" 改成 port="80"
<Connector port="80" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" URLEncoding="UTF-8" useBodyEncodingForURI="true" />

在<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false">下面增加
<Context path="" docBase="/home/dthl/GW" debug = "0" reloadable="true">,其中的docBase的路径指的就是项目路径

.Net 连接 FTP 下载文件报错:System.InvalidOperationException: The requested FTP command is not supported whe...

.Net 连接 FTP 下载文件报错:System.InvalidOperationException: The requested FTP command is not supported whe...

系统环境:
Windows + .Net Framework 4.0
 
问题描述:
C# 连接 FTP 下载文件时,在部分电脑上有异常报错,在一部分电脑上是正常的;异常报错的信息:System.InvalidOperationException: The requested FTP command is not supported when using HTTP proxy
 
分析过程:
在网上搜索到的解决方案,基本都是将代理置为 null:request.Proxy = null; 并没有解释其原因。
 
调试发现,如果不去主动设置 Proxy,创建 request 对象后(request = (FtpWebRequest) WebRequest.Create (uri)),其默认的 Proxy 就是 null,不解。。。
 
如下是查找相关资料,得到的解释:

.NET Framework 上

Proxy 属性标识 IWebProxy 与 FTP 服务器进行通信的实例。 代理的设置是由系统使用的配置文件和 Internet Explorer 本地网络设置。 若要指定应使用任何代理,请设置 Proxy 返回的代理实例到 GlobalProxySelection.GetEmptyWebProxy 方法。 

必须设置 Proxy 之前将数据写入到请求的流或获取响应。 更改 Proxy 后调用 GetRequestStream, BeginGetRequestStream, GetResponse,或 BeginGetResponse 方法使 InvalidOperationException 异常。

FtpWebRequest 类支持 HTTP 和 ISA 防火墙客户端代理。

如果指定的代理是 HTTP 代理,则仅 DownloadFile, ListDirectory,和 ListDirectoryDetails 支持命令。

 

上述说明,基本已经解释了异常的原因。但是既然代码中并未指定代理,但是实际缺使用了 HTTP 代理,结合有的电脑没问题有的电脑有问题现象,猜测应该是电脑设置或网络设置问题。如下是 “自动检测代理” 的说明,基本可以解释:

自动代理检测是一个进程,系统使用该进程来标识 Web 代理服务器,并用于代表客户端发送请求。 此功能也称为 Web 代理自动发现 (WPAD)。 启用自动代理检测后,系统会尝试查找代理配置脚本,该脚本负责返回一组可用于请求的代理。 如果找到了代理配置脚本,则会在针对使用 WebProxy 实例的请求获取代理信息、请求流或响应时,在本地计算机上下载、编译并运行该脚本。

自动代理检测由 WebProxy 类执行,且可采用请求级设置、配置文件中的设置和通过 Internet Explorer“局域网 (LAN)” 对话框指定的设置。

启用自动代理检测后,WebProxy 类会尝试按如下方式找到代理配置脚本:

  1. WinINet InternetQueryOption 函数用于查找 Internet Explorer 最近检测到的代理配置脚本。

  2. 如果找不到该脚本,WebProxy 类将使用动态主机配置协议 (DHCP) 查找该脚本。 DHCP 服务器可以采用脚本的位置(主机名)或脚本的完整 URL 进行响应。

  3. 如果 DHCP 未标识 WPAD 主机,则查询 DNS 以找到 WPAD 作为其名称或别名的主机。

  4. 如果未标识该主机,并且代理配置脚本的位置由 Internet Explorer LAN 设置或配置文件指定,则使用此位置。

默认情况下,Internet Explorer 代理设置用于检测此代理。 如果应用程序基于非交互式帐户运行(没有用于配置 IE 代理设置的简便方法),或要使用不同于 IE 设置的代理设置,则可以通过创建定义了 <defaultProxy> 元素(网络设置)和 <proxy> 元素(网络设置)元素的配置文件,对代理进行配置。

对于所创建的请求,可通过将空 Proxy 用于该请求,禁用请求级别的自动代理检测,如下面的代码示例所示。

public static void DisableForMyRequest (Uri resource) { WebRequest request = WebRequest.Create (resource); request.Proxy = null; WebResponse response = request.GetResponse (); } 

结合上述解释,在问题电脑上,将自动检测代理关闭后,测试正常。

 

 

 
 

原文出处:https://www.cnblogs.com/Juning/p/11392683.html

C# FTP 上传文件时出现

C# FTP 上传文件时出现 "应 PASV 命令的请求,服务器返回了一个与 FTP 连接地址不同的地址。" 的错误

FTP 上传文件时出现 "应 PASV 命令的请求,服务器返回了一个与 FTP 连接地址不同的地址。" 的错误

解决方法是在原代码上增加这句话

reqFTP.UsePassive = false;

 

/// <summary>  
        /// 上传  
        /// </summary>   
        public static void Upload(string filename)
        {
            FileInfo fileInf = new FileInfo(filename);
            FtpWebRequest reqFTP;
            reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(ftpURI + fileInf.Name));
            reqFTP.Credentials = new NetworkCredential(FtpUserID, FtpPassword);
            reqFTP.Method = WebRequestMethods.Ftp.UploadFile;
       //增加这句话 reqFTP.UsePassive
= false; reqFTP.KeepAlive = false; reqFTP.UseBinary = true; reqFTP.ContentLength = fileInf.Length; int buffLength = 2048; byte[] buff = new byte[buffLength]; int contentLen; FileStream fs = fileInf.OpenRead(); try { Stream strm = reqFTP.GetRequestStream(); contentLen = fs.Read(buff, 0, buffLength); while (contentLen != 0) { strm.Write(buff, 0, contentLen); contentLen = fs.Read(buff, 0, buffLength); } strm.Close(); fs.Close(); } catch (Exception ex) { throw new Exception(ex.Message); } }

 

centos7 ftp 500 OOPS: cannot change directory:/var/ftp/xutong/

centos7 ftp 500 OOPS: cannot change directory:/var/ftp/xutong/

在设置多用户登录的时候 该指定的用户xutong对于上级目录/var/ftp 没有访问权限

修改一下上级目录的权限

chmod 777 /var/ftp

对于ftp多用户访问的配置修改也做一个记录

 

以是设置FTP所遇到的一些问题:

  • 对于端口防火墙问题在此略
  • 对于不同用户访问不通根目录的解决
# 用户登录路径,local_root 针对系统用户
local_root=/var/ftp/ 
# 锁定用户到各自目录为其根目录 
chroot_local_user=YES 
# anon_root 针对匿名用户 
anon_root=/var/www/html 
allow_writeable_chroot=YES 
# 用户配置目录 
user_config_dir=/etc/vsftpd/userconfig

# 然后到/etc/vsftpd/创建 userconfig
mkdir userconfig

# 进入userconfig 
cd userconfig/

# 对于用户 xutong 的单独目录
vi xutong

# 加入以下内容 
local_root=/var/ftp/xutong

# 其它以此类推 

 

  • 对于用户登录shell类型/sbin/nologin,
# 直接/bin/bash shell登录是完全没有问题的 ,但是网上看大家还是很追求完美的好多都用/sbin/nologin 

useradd -s /sbin/nologin ftptest

#passwd 设置密码 略

# 我们发现这个样子是不能直接用于FTP用户登录的显示账户密码错误

# 需要去改以下配置文件 /etc/pam.d/vsftpd 

vi /etc/pam.d/vsftpd 

auth       required    pam_shells.so

改成

auth       required    pam_nologin.so

 

CentOS7 安装及配置 vsftpd (FTP 服务器 FTP 账号创建以及权限设置)

CentOS7 安装及配置 vsftpd (FTP 服务器 FTP 账号创建以及权限设置)

本文章向大家介绍 CentOS7 安装及配置 vsftpd (FTP 服务器 FTP 账号创建以及权限设置),主要包括 CentOS7 安装及配置 vsftpd (FTP 服务器 FTP 账号创建以及权限设置) 使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1,安装 vsftpd 的

yum -y install vsftpd

2、设置开机启动

systemctl enable vsftpd

3、启动 ftp 服务

 systemctl start vsftpd.service

4、打开防火墙,开放 21 端口(centos7.4 以后默认关闭 Firewall 防火墙)

1 firewall-cmd --zone=public --add-port=21/tcp --permanent
2 firewall-cmd --permanent --zone=public --add-service=ftp
3 firewall-cmd --reload

5、添加 ftp 用户

 useradd -g root -d /home/wwwroot/asite -s /sbin/nologin ftpuser

注:表示新增一个 ftpuser(用户名),且指定上传目录在 /home/wwwroot/asite 下

如果后期想变更此用户的上传目录到(/run/media/root/xxx/wwwroot/xxx.org),请使用下面的命令:

usermod -d /run/media/root/xxx/wwwroot/xxx.org ftpuser

6、设置用户密码

passwd ftpuser

7、配置 selinux 允许 ftp 访问 home 和外网访问(默认关闭 centos7.4)

1 setsebool -P allow_ftpd_full_access on
2 setsebool -P ftp_home_dir on

8、设置权限(此用户可以访问整个主机目录,后面备注设置权限问题)

chown -R ftpuser:root /home/wwwroot/asite

 

9、修改 vsftp 配置文件,禁用匿名登录

路径:vi /etc/vsftpd/vsftpd.conf

anonymous_enable=YES 改为: anonymous_enable=NO

其他命令:

重启        service vsftpd restart

启动/停止service vsftpd start/stop

状态        service vsftpd status

 

以下是权限配置:

 修改 vi /etc/vsftpd/vsftpd.conf 如下:(去掉注释!!!)

chroot_local_user=NO
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

编辑上面的内容

    第一行:chroot_local_user=NO

    第二行:chroot_list_enable=YES  // 限制访问自身目录

    第四行:编辑 vsftpd.chroot_list。根据第三行说指定的目录,找到 chroot_list 文件。(因主机不同,文件名也许略有不同)

    编辑 vsftpd.chroot_list,将受限制的用户添加进去,每个用户名一行

说明:chroot_local_user=NO 则所有用户不被限定在主目录内,chroot_list_enable=YES 表示要启用 chroot_list_file, 因为 chroot_local_user=NO,即全体用户都 “不被限定在主目录内”, 所以总是作为 “例外列表” 的 chroot_list_file 这时列出的是那些 “会被限制在主目录下” 的用户。

5、重启服务器

    改完配置文件,不要忘记重启 vsFTPd 服务器

    运行命令:service vsftpd restart

关于Centos tomcat+mysql+ftp 网站服务器搭建指南centos ftp服务器怎么搭建的问题就给大家分享到这里,感谢你花时间阅读本站内容,更多关于.Net 连接 FTP 下载文件报错:System.InvalidOperationException: The requested FTP command is not supported whe...、C# FTP 上传文件时出现 "应 PASV 命令的请求,服务器返回了一个与 FTP 连接地址不同的地址。" 的错误、centos7 ftp 500 OOPS: cannot change directory:/var/ftp/xutong/、CentOS7 安装及配置 vsftpd (FTP 服务器 FTP 账号创建以及权限设置)等相关知识的信息别忘了在本站进行查找喔。

本文标签: