因为在网上发现系统性、严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Nginx+Tomcat+Mysql+FTP的操作文档,梳理记录如下,特别是在实践中碰到的各种问题和容易出错的地方,都做了重要标注和提醒(踩过的那些坑,我都特别标注出来);希望对于那些想要系统地完整搭建Linux环境的程序员们一个系统性的参考。但因大部分都是边搭建边记录下的操作,必定有所疏漏,还望见谅; 如有问题和意见请帮忙在后面的评论中指出,万分感谢!另整个搭建的过程中参考了网上许多优秀博主的优秀实践,在文中末尾或者其他适当的地方都有所标注,如有必要,你可以按参考的链接阅读参考的原文章。本文档一共分为6篇,这6个部分分别是:
1、
(一)Linux环境部署(Centos+Nginx+Tomcat+Mysql) – FTP安装
2、
(二)Linux环境部署(Centos+Nginx+Tomcat+Mysql) – 防火墙配置
3、
(三)Linux环境部署(Centos+Nginx+Tomcat+Mysql) – Nginx环境搭建
4、
(四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) – 安装Tomcat和JDK 以及 Nginx与Tomcat整合
5、
(五)Linux环境部署(Centos+Nginx+Tomcat+Mysql) – Mysql 安装
6、
(六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) – 一些常用命令总结
这篇系列性文章将会在以后的实践中持续地做修正和更新。
(在整理和记录这些文档的时候,对于我这个曾经从来不写博客的程序员来说,我发现的确收获良多,首先最重要的是对我的知识结构进行了一次重要的梳理和总结;另外,让我的思维和逻辑更加缜密;第三,强化和加深记忆;四,共享和分享的精神。
最后,希望对你有用。)
(一)FTP安装
1.
安装
使用chkconfig –list
来查看是否装有vsftpd服务;
使用yum
命令直接安装:
yum -y install vsftpd
然后为它创建日志文件:touch /var/log/vsftpd.log
这样简单的两个命令就完成了vsftp
的安装,但是如果你现在想这样ftp://your_ip来访问的话,那还不行,还需要配置权限!
2.
启动与配置自启动
使用chkconfig –list
来查看vsftpd服务启动项情况;
如果看到的是如下显示的结果:
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
服务全部都是off
的,注意这里的off表示的是服务器启动的时候是否会自启动服务,我们使用如下命令来配置其自启动:
chkconfig –level 2345 vsftpd on #2345
对应的是上面对应的0-6
项
查看ftp
相关设置状态: getsebool -a | grep ftp
查看与管理ftp
服务:
启动ftp
服务:service vsftpd start
查看ftp
服务状态:service vsftpd status
重启ftp
服务:service vsftpd restart
关闭ftp
服务:service vsftpd stop
3.
配置vsftp
服务
编辑/etc/vsftpd/vsftpd.conf
文件,配置vsftp服务:
#vi /etc/vsftpd/vsftpd.conf
3.1
编辑修改如下项目:
anonymous_enable=NO #
设定不允许匿名访问
local_enable=YES #
设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO
的情况下所有虚拟用户将无法访问。
chroot_list_enable=YES #
使用户不能离开主目录(和/etc/vsftpd/chroot_list
配合使用)
xferlog_file=/var/log/vsftpd.log #
设定vsftpd
的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来
ascii_upload_enable=YES #
允许使用ASCII
模式上传
ascii_download_enable=YES #
设定支持ASCII
模式的上传和下载功能。
pam_service_name=vsftpd #PAM
认证文件名。PAM
将根据/etc/pam.d/vsftpd进行认证
3.2
创建chroot list
,将92wyftp用户加入其中:
touch /etc/vsftpd/chroot_list
echo 92wyftp >> /etc/vsftpd/chroot_list
(chroot:
是为了限制所列的ftp
用户只能访问其被指定的Home目录,不能访问其他文件夹)
3.3
使用命令添加ftp
用户
添加ftp
用户,命令格式:
#adduser -d /
目录路径 -g ftp -s /sbin/nologin
用户名
如使用:#adduser -d /tmp/92wyftp -g ftp -s /sbin/nologin 92wyftp
增加了一个名为92wyftp
的用户,它的目录属于/opt/92wyftp下面,属于ftp用户组。此用户是不可以登陆我们终端服务器的。
#adduser -d /tmp/92wyftp -g ftp -s /sbin/nologin 92wyftp
添
加密码
#passwd 92wyftp
#chown -R 92wyftp:ftp /tmp/92wyftp
(如未授权,会出现问题:“553 Could not create file
”)
#service vsftpd restart
用92wyftp
用户登录试一下。
防火墙端口开放:
vi /etc/sysconfig/iptables
-I INPUT -p tcp –dport 21 -j ACCEPT
登录时如遇到:“500 OOPS: cannot change directory:/tmp/
” 问题
设置SElinux
安全机制 :
#
setsebool
-P ftp_home_dir on
(
有些是:
#setsebool -P ftpd_disable_trans 1
)
#
setsebool -Pallow_ftpd_full_access=on //
重要,不然目录无法列出,无法创建文件
(
允许完全访问/
读写权限)
#service vsftpd restart
(其他例子如setsebool -P allow_ftpd_anon_write=1
-P
是永久性设置,否则重启之后又恢复预设值)
#sestatus -b| grep ftp
可查看当前的
SELinux
状态
有关SELinux:
http://wenku.baidu.com/view/d1b90c8271fe910ef12df8d7.html
FTP Passive Mode
模式配置
:
vi /etc/vsftpd/vsftpd.conf
pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10010
防火墙添加
#vi /etc/sysconfig/iptables:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -jACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –sport 20 -jACCEPT
-I INPUT -p tcp –dport 10000:10010 -j ACCEPT
#service iptables restart
#service vsftpd restart
http://blog.sina.com.cn/s/blog_54cae6d70101do71.html
http://www.xmydlinux.org/201012/144.html
http://blog.sina.com.cn/s/blog_68b56adb01010zl2.html
http://blog.sina.com.cn/s/blog_417ad82e0101eyvw.html
参考:
http://www.myhack58.com/Article/sort099/sort0101/2012/33100.htm
因为在网上发现系统性、严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Nginx+Tomcat+Mysql+FTP的操作文档,梳理记录如下,特别是在实践中碰到的各种问题和容易出错的地方,都做了重要标注和提醒(踩过的那些坑,我都特别标注出来);希望对于那些想要系统地完整搭建Linux环境的程序员们一个系统性的参考。但因大部分都是边搭建边记录下的操作,必定有所疏漏,还望见谅; 如有问题和意见请帮忙在后面的评论中指出,万分感谢!另整个搭建的过程中参考了网上许多优秀博主的优秀实践,在文中末尾或者其他适当的地方都有所标注,如有必要,你可以按参考的链接阅读参考的原文章。本文档一共分为6篇,这6个部分分别是:
1、
(一)Linux环境部署(Centos+Nginx+Tomcat+Mysql) – FTP安装
2、
(二)Linux环境部署(Centos+Nginx+Tomcat+Mysql) – 防火墙配置
3、
(三)Linux环境部署(Centos+Nginx+Tomcat+Mysql) – Nginx环境搭建
4、
(四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) – 安装Tomcat和JDK 以及 Nginx与Tomcat整合
5、
(五)Linux环境部署(Centos+Nginx+Tomcat+Mysql) – Mysql 安装
6、
(六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) – 一些常用命令总结
这篇系列性文章将会在以后的实践中持续地做修正和更新。
(在整理和记录这些文档的时候,对于我这个曾经从来不写博客的程序员来说,我发现的确收获良多,首先最重要的是对我的知识结构进行了一次重要的梳理和总结;另外,让我的思维和逻辑更加缜密;第三,强化和加深记忆;四,共享和分享的精神。
最后,希望对你有用。)
相关视频课程推荐
《站长必修课:网站是怎样做出来的?》
https://edu.51cto.com/sd/3be5b