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] |
重启后即可
修改主机名: <<修改 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 |
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 |
如能正确显示, 说明安装成功.
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 服务配置完成,用客户端连接试试吧.