CentOS安装LNMP环境与VSFTP服务配置

Nginx 的支持高并发, 强大的负载均衡, 低资源消耗 使它成为了 Linux web 服务端的首选, 尤其对于小内存的 VPS, 这点更为明显, 使它完胜 Apache.

下面就介绍 LNMP 的安装.
1. 准备工作
 
修改登录密码 : <<Linux 修改用户密码>> 

修改时区及时间: <<修改 Linux 系统时区与时间>>

关闭多余 tty 通道

 代码如下 复制代码

vi /etc/init/start-ttys.conf

找到tty[1-6]改成tty[1-2]

找到ACTIVE_CONSOLES=/dev/tty[1-6]
改成ACTIVE_CONSOLES=/dev/tty[1-2]

重启后即可

修改主机名: <<修改 Linux 主机名(hostname)>>

添加 yum 源并更新: <<CentOS 添加常用 yum 源>> 配置

iptables 防火墙, 开放必要端口:

 代码如下 复制代码

vi /etc/sysconfig/iptables

# Generated by iptables-save v1.4.7 on Sat Sep 29 10:26:10 2012
*nat
:PREROUTING ACCEPT [40182:3767364]
:POSTROUTING ACCEPT [11964:943507]
:OUTPUT ACCEPT [11964:943507]
-A POSTROUTING -s 192.168.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Sat Sep 29 10:26:10 2012
# Generated by iptables-save v1.4.7 on Sat Sep 29 10:26:10 2012
*filter
:INPUT DROP [4:600]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -p gre -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 30000:35000 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 65535 -j ACCEPT
-A INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.0.0/24 -o eth0 -j ACCEPT
-A FORWARD -d 192.168.0.0/24 -i eth0 -j ACCEPT
-A OUTPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT

2. 安装 Nginx

列出 Nginx 的所有版本

 代码如下 复制代码

yum list nginx

可以看到目前最新的版本为 1.5.2
 

 代码如下 复制代码
yum install nginx

启动 Nginx
 

 代码如下 复制代码
service nginx start

设为开机启动

 代码如下 复制代码
 
chkconfig --level 3 nginx on

访问 vps 的域名或 ip, 如果显示 Welcome to nginx! 页面,表示安装成功.

Nginx 的网站根目录与 Apache 不同, 为 /usr/share/nginx/html
配置文件位于 /etc/nginx
3. 安装 mysql

这里与 LAMP 环境下的 mysql 安装是一样的. 参照 <<CentOS 安装 MySql>>
目前最新版本为 5.5.31

4. 安装 PHP

据网友测试, php 5.4 比 php 5.3 性能提高了 50% 以上, 所以这里推荐使用 php 5.4 及更新版本.

列出 php 的最新版本, 因为 webtatic 源通常是最新的, 所以我们只在 webtatic 里查找.
 
yum list --disablerepo=* --enablerepo=webtatic php*

可以看到目前最新版本为 php 5.5, 但因为 Zend Guard Loader 目前只支持到 php 5.4, 所以我们安装 php 5.4 版本.

安装 php 5.4 及相关组件(根据自身需要增删)

这里, php54w-fpm 是用来与 Nginx 关联的模块, 因此是必须的, 这是与 LAMP 环境的区别
 

 代码如下 复制代码
yum install php54w php54w-fpm php54w-bcmath php54w-cli php54w-common php54w-gd php54w-imap php54w-intl php54w-ldap php54w-mbstring php54w-mcrypt php54w-mysql php54w-odbc php54w-pdo php54w-pear php54w-pspell php54w-soap php54w-xml php54w-xmlrpc

如果 httpd 服务启动了, 停用此服务.
 

 代码如下 复制代码
service httpd stop
chkconfig httpd off

启动 php-fpm 服务
 

 代码如下 复制代码
service php-fpm start

配置 Nginx 使用 PHP-FPM

 代码如下 复制代码
 
vi /etc/nginx/conf.d/default.conf

找到以下内容
 

 代码如下 复制代码
location / {
      root   /usr/share/nginx/html;
      index  index.html index.htm;
}

可修改 root 为其它目录
在 index 项中加入 index.php 类型

 代码如下 复制代码

 
location / {
      root   /usr/share/nginx/html;
      index  index.html index.htm index.php;
}

去掉以下内容的注释

 

 代码如下 复制代码
#location ~ .php$ {
#    root           html;
#    fastcgi_pass   127.0.0.1:9000;
#    fastcgi_index  index.php;
#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
#    include        fastcgi_params;
#}

修改 fastcgi_param 项, 将 /scripts 替换为 location 中的 root 内容, 即网站根目录

 代码如下 复制代码

 
location ~ .php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /usr/share/nginx/html$fastcgi_script_name;
    include        fastcgi_params;
}

保存退出

编辑 php.ini

 代码如下 复制代码

 
vi /etc/php.ini

这里将允许上传的最大值改为8M.

 代码如下 复制代码

 
post_max_size = 8M
upload_max_filesize = 8M

设置开机启动

 代码如下 复制代码

 
chkconfig --level 3 php-fpm on

重启 Nginx 与 php-fpm 服务

 代码如下 复制代码

 
service nginx restart
service php-fpm restart

在 /usr/share/nginx/html 中新建 phpinfo.php 文件

 代码如下 复制代码

 
vi /usr/share/nginx/html/phpinfo.php

 
<?php
  phpinfo();
?>

如能正确显示, 说明安装成功.

5. 安装 vsFTp

配置 FTP 服务
1.安装 vsFTP
 

 代码如下 复制代码
yum install vsftpd

编辑配置文件
 

 代码如下 复制代码
vi /etc/vsftpd/vsftpd.conf

我们这里使用虚拟用户的形式, 配置如下.
 

 代码如下 复制代码
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
connect_from_port_20=YES
ftpd_banner=Welcome to My FTP Server ^_^.
chroot_local_user=YES
ls_recurse_enable=YES
listen=YES
 
pam_service_name=vsftpd
userlist_enable=NO
tcp_wrappers=YES
 
one_process_model=no
 
#以下是手动添加的
pasv_min_port=30000
pasv_max_port=35000
 
allow_writable_root=YES
guest_enable=YES
guest_username=root
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/user_conf

2.生成vsftpd虚拟用户数据库文件:

建立虚拟用户名单文件:

 代码如下 复制代码
 
vi /etc/vsftpd/ftpuser.txt

内容如下:
 

 代码如下 复制代码
ftp1
1234
ftp2
5678

格式很简单:“一行用户名,一行密码!”。
3.生成虚拟用户数据文件:

 代码如下 复制代码

 
db_load -T -t hash -f /etc/vsftpd/ftpuser.txt /etc/vsftpd/users.db
chmod 600 /etc/vsftpd/users.db

4.配置PAM验证文件:

 代码如下 复制代码

vi /etc/pam.d/vsftpd

将原有内容注释或删除, 将以下内容加入到文件中.
32位系统:
 

 代码如下 复制代码
#db=/etc/vsftpd/users , 这里的users 是上一步创建的数据库名, 去掉后缀.
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/users
account required /lib/security/pam_userdb.so db=/etc/vsftpd/users

64位系统:
 

 代码如下 复制代码
#db=/etc/vsftpd/users , 这里的users 是上一步创建的数据库名, 去掉后缀.
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/users
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/users

5.创建虚拟用户独立配置文件

每个虚拟用户必需有一个同用户名相同的配置文件, 这个文件里保存着对这个用户的个性化配置, 里面的属性可以是 vsftpd.conf 中的任何属性.

创建虚拟用户配置文件目录, 这个目录是在 vsftpd.conf 中 user_config_dir= 配置的.

 
mkdir /etc/vsftpd/user_conf

创建用户配置文件,以用户名命名.

 代码如下 复制代码

 
vi /etc/vsftpd/user_conf/ftp1
 
local_root=/var/www/html
idle_session_timeout=600
data_connection_timeout=120
max_clients=10
max_per_ip=5
local_max_rate=50000

6.启动服务

 代码如下 复制代码

 
service vsftpd start

设置开机启动

 代码如下 复制代码

 
chkconfig --level 3 vsftpd on

7.允许通过防火墙

 代码如下 复制代码

 
iptables -A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 30000:35000 -j ACCEPT

至此,ftp 服务配置完成,用客户端连接试试吧.

 

时间: 2025-01-24 22:37:04

CentOS安装LNMP环境与VSFTP服务配置的相关文章

Centos中使用Shell脚本一键安装LNMP环境

由于Nginx是一款高性能的HTTP和反向代理服务器.Nginx在反向代理,Rewrite规则,稳定性,静态文件处理,内存消耗等方面表现了很强的优势.因此公司线上和测试环境的WEB服务大多数采用的是LNMP环境,经常要进行LNMP环境的搭建,下面是用SHELL脚本写的一键安装LNMP环境的脚本. 1)系统环境介绍 Centos 5.8 64位 (已测试) Nginx: nginx-1.4.1.tar.gz PHP:   php-5.3.27.tar.gz Mysql: mysql-5.6.5-m

CentOS 7系统YUM快速安装LNMP环境教程

源码编译安装 LNMP 环境虽然便于自定义,但是对于小型服务器来说,漫长的编译时间让人无法等待.如果能在 10 分钟后内搞定环境安装,再好不多了. 那么如何在 10 分钟内快速安装完 LNMP 环境呢,答案是 使用 YUM 安装. 什么 YUM ? 官网给出的解释 yum is a software package manager that installs, updates, and removes packages on RPM-based systems. It automatically

自动安装lnmp环境的脚本

#!/bin/bash #Authors are from JC #From the region BeiJing-China #Contact:285221465@qq.com # Source function library. . /etc/rc.d/init.d/functions cd $shell shell=/shell/script if [ -d /shell/script ];then action "shell安装目录已存在:" /bin/true else mk

Linux VPS CentOS安装LNMP系统环境教程

我们国人使用VPS安装的系统环境最多的可能就是LNMP,笔者最近也在学着安装和使用VPS,也看到很多种系统环境可以选择,当然包括可以选择安装面板管理.暂时我不选择安装面板,一来使用面板没有技术含量,二来从难处学习,直接使用SSH操作VPS感觉还是非常有面子的.从多个系统中,我暂时也比较不了好坏,每一个都安装和测试一遍,并且把相关的信息都记录,一遍日后对比. 今天先来在CentOS中安装LNMP系统,最低的系统要求为128M内存,我相信大家的VPS最低也应该有256M内存,我测试的机器为512M内

VPS主机CentOS系统安装LNMP环境图文教程分享_Linux

我们国人使用VPS安装的系统环境最多的可能就是LNMP,笔者最近也在学着安装和使用VPS,也看到很多种系统环境可以选择,当然包括可以选择安装面板管理.暂时我不选择安装面板,一来使用面板没有技术含量,二来从难处学习,直接使用SSH操作VPS感觉还是非常有面子的.从多个系统中,我暂时也比较不了好坏,每一个都安装和测试一遍,并且把相关的信息都记录,一遍日后对比. 今天先来在CentOS中安装LNMP系统,最低的系统要求为128M内存,我相信大家的VPS最低也应该有256M内存,我测试的机器为512M内

腾讯云主机安装LNMP环境及wordpress教程_Linux

许多云主机都有学生优惠,于是我趁着现在大一买了个腾讯1元云主机+免费cn域名(高中生的话就别想了).鉴于我只知道用服务器安装博客,别的用途不了解,所以我就去安装wordpress. 而由于我看的教程有点问题,有的问题搜索引擎解决不了,我要么瞎折腾整好了,要么重装系统,最后一次挺顺利,半小时左右装好,但后续还有各种问题,一个个解决掉了.于是记录下来方便后(面要搭博客的)人.我参考的教程阿里云Centos7安装LNMP环境和wordpress(有点坑,但还是不错的). LNMP=Linux+Ngin

CentOS6.5 编译安装lnmp环境_php技巧

网上搜来的教程如下 复制代码 代码如下: yum -y install gcc gcc-c++ automake autoconf libtool glibc make libmcrypt安装 mkdir /usr/local/source && cd /usr/local/source #创建并进入源文件目录 [root@localhost source ]# wget "http://downloads.sourceforge.net/mcrypt/libmcrypt-2.5

lnmp_auto:自动化安装lnmp环境脚本

朋友找我在一台机器上帮忙安装下discuz.想着搭建过好几次的lnmp了,但是还没有使用过"一键安装"的自动化脚本,去网上有搜索出来,但是运行的时候发现用root运行别人的脚本还是真危险的事情,于是明白这不是个轮子,而是个井,每个程序员有必要自己挖一口的了.所以想着自己写个自动化安装lnmp的脚本lnmp_auto. 源代码在github上:https://github.com/jianfengye/lnmp_auto 本文记录下写的过程中遇到的几个shell问题: 如何判断当前用户是

【Nginx】LNMP环境下的后续配置

本文为点点点细雨原创,谢绝转载 前言 完成了基本的配置后,我们可以直接在nginx上运行php环境了,那么,接下来要做的就是后续的一些操作 配置网卡 由于现在的上网方式从分配固定的ip变成了自动分配,所以需要重新修改网卡配置 查看虚拟机配置,虚拟机采用的是Mac上的这个 然后修改网卡配置文件,改成对应的mac地址以及dhcp [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth1 HWADDR=00