码迷,mamicode.com
首页 > Web开发 > 详细

快速搭建LNMP+FTP网站

时间:2015-06-01 20:57:24      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:快速搭建lnmp网站

   LNMP(Linux-Nginx-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Nginx网络服务器,MySQL数据库,PHP编程语言,所有组成产品均是免费开源软件,这四种软件组合到一起,成为一个免费、高效的网站服务系统。

登录到服务器

1. 完成客户端配置后,按菜单文件”->“连接,打开连接对话框,点击对话框上的新建会话按钮,打开新建会话向导,协议选择“SSH2”,如下图所示:
技术分享
2.
点击下一步,在会话向导中进行如下配置:
1)主机名:输入服务器的公网IP(在服务器管理视图页面可查看服务器的公网IP)。
2)端口:输入服务器的端口,必须填22
3)用户名:输入管理员账号。
如下图所示:
技术分享
3.
点击下一步,确定该会话的名字(默认为之前输入的服务器公网IP),点击完成,即创建了1个会话。 

4.
连接窗口,右键点击新建的会话,选择属性后,在弹出的会话选项中,取消勾选公钥,如下图所示:
这里不对公钥进行鉴权,因此需要取消勾选公钥
技术分享

5.
连接窗口的会话列表中,可以看到之前创建的会话,选中后,点击连接按钮,即开始连接CentOS云服务器,如下图所示:
技术分享
6.
在弹出的“PAM authentication Authentication”对话框中,输入密码,密码为管理员账号的密码。点击确定,即完成登录。
如下图所示:

 
技术分享
注:
管理员账号的初始密码由系统分配,用户可以重置密码,详见管理员账号密码重置 

7.
按菜单选项”->“会话选项”->“终端,打开终端设置对话框,设置发送协议,如下图所示:
在网络环境正常的情况下,配置反空闲中的发送协议,能保持终端连接至跳板机或服务器,在无操作空闲时保持会话不断开。

 技术分享

 

服务器添加虚拟盘分区和格式化

  1. 查看数据盘信息

登录服务器后,可以使用fdisk -l命令查看数据盘相关信息。
使用df –h命令,无法看到未分区和格式化的数据盘。  

技术分享

2.数据盘分区

执行以下命令,对数据盘进行分区。

fdisk /dev/xvdb

按照界面的提示,依次输入“n”(新建分区)“p”(新建扩展分区)“1”(使用第1个主分区),两次回车(使用默认配置),输入“wq”(保存分区表),开始分区。
这里是以创建1个分区为例,用户也可以根据自己的需求创建多个分区。
技术分享

   3. 查看新分区

使用fdisk -l命令,即可查看到,新的分区xvdb1已经创建完成。
技术分享 

   4. 格式化新分区

在进行分区格式化时,用户可以自行决定文件系统的格式,如ext2ext3等。
这里以“ext3”为例:
使用下面的命令对新分区进行格式化。 

mkfs.ext3 /dev/xvdb1


技术分享 

   5. 挂载新分区

使用命令mkdir /mydata创建mydata目录,再通过mount /dev/xvdb1 /mydata命令手动挂载新分区后,用df -h命令查看,出现以下信息说明挂载成功,即可以查看到数据盘了。
技术分享 

   6. 添加分区信息

如果希望服务器在重启或开机时能自动挂载数据盘,必须将分区信息添加到/etc/fstab中。如果没有添加,则服务器重启或开机后,都不能自动挂载数据盘。
使用echo ‘/dev/xvdb1 /mydata ext3 defaults 0 0‘ >>/etc/fstab命令添加分区信息后,使用cat /etc/fstab命令查看,出现以下信息表示添加分区信息成功。
技术分享 

服务器环境下通过YUM安装软件

对于Yum下载源,不需要添加软件源,可以直接安装软件包。

   1. 安装步骤

1. 配置yum源:

这采用了搜狐的开源yum源。

2. root权限下,通过命令 yuminstall 来安装软件,示例如下:
技术分享

3. 系统会自动搜索相关的软件包和依赖关系,并且在界面中提示用户确认搜索到的软件包是否合适,如下图所示:
技术分享

4. 输入“Y”确认后,开始安装软件,安装完成后会提示“Complete”,如下图所示:
技术分享

   2. 安装的软件信息查看

软件安装完成后,可通过命令 rpm -ql 查看软件包具体的安装目录。
以查看nginx的安装目录为例:

#rpm-ql nginx

结果如下:
技术分享

可通过命令 rpm -q 查看软件包的版本信息。
以查看nginx的版本为例:

#rpm-q nginx

结果如下(实际的版本可能和此版本不一致,请以实际查询到的版本为准):
技术分享

系统软件环境配置

1. 配置nginx

1. 启动nginx服务。
命令如下:

[root@VM_185_51 /]# service nginx restart


2.
测试nginx服务是否正常运行。
如果最后显示:`index.html‘ saved ,说明nginx服务正常。

[root@VM_185_51 /]# wget http://127.0.0.1
--2013-02-20 17:07:26-- http://127.0.0.1/
Connecting to 127.0.0.1:80...connected.
HTTP request sent, awaitingresponse... 200 OK
Length: 151 [text/html]
Saving to: `index.html‘

100%[==========================================================================================>]151 --.-K/s in 0s

2013-02-20 17:07:26 (37.9 MB/s) - `index.html‘ saved[151/151]


3.
在浏览器中,通过服务器公网IP查看nginx服务是否正常运行。
如果显示如下,说明nginx安装配置成功。
技术分享

 2. 配置PHP

1. 启动php-fpm

[root@zzxtbl /]# service php-fpm start


2.
修改php-fpmnginx的配置,实现nginxphp联动。
1)查看php-fpm默认配置。

[root@zzxtbl /]# cat /etc/php-fpm.d/www.conf |grep -i‘listen =‘
listen = 127.0.0.1:9000

2php-fpm的默认配置的监听端口为9000,现在只用修改配置,将php解析的请求转发到127.0.0.0:9000处理即可。
修改nginx配置,修改命令如下:

[root@zzxtbl /]# vim /etc/nginx/conf.d/default.conf

修改完成后实际配置如下,红色文字为修改过的部分:

server {

  listen      80;

  root   /usr/share/nginx/html;

  server_name localhost;

  #charset koi8-r;

  #access_log /var/log/nginx/log/host.access.log main;

  location / {

      index index.html index.htm;

  }

  #error_page 404              /404.html;

  # redirect server error pages to the staticpage /50x.html

  #

  error_page  500 502 503 504  /50x.html;

  location = /50x.html {

      root  /usr/share/nginx/html;

  }

  # proxy the PHP scripts to Apache listeningon 127.0.0.1:80

  #

  #location ~ \.php$ {

  #   proxy_pass   http://127.0.0.1;

  #}

  # pass the PHP scripts to FastCGI serverlistening on 127.0.0.1:9000

  #

  location ~ \.php$ {

      fastcgi_pass   127.0.0.1:9000;

      fastcgi_index   index.php;

      fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

      include        fastcgi_params;

  }

  # deny access to .htaccess files, if Apache‘sdocument root

  # concurs with nginx‘s one

  #

  #location ~ /\.ht {

  #   deny  all;

  #}

}

修改完成后,按“Esc”键,输入“:wq”,保存文件并返回。
通过下面的命令,查看配置是否正确:

[root@zzxtbl /]# cat /etc/nginx/conf.d/default.conf

   3. 配置生效

重启nginx,使配置生效。
命令如下:

[root@zzxtbl /]# service nginx restart
Stopping nginx: [ OK ]
Starting nginx: [ OK ]

 4. 环境配置验证

1. web目录下创建index.php
命令如下:

[root@zzxtbl /]# vim /usr/share/nginx/html/index.php

index.php文件的内容如下:

<?php
echo "<title>TestPage</title>";
echo "hello world";
?>

2. 在浏览器中,通过服务器公网IP查看环境配置是否成功。
如果页面可以显示“hello world”,说明配置成功。
技术分享 

部署代码到服务器


用户需要使用FTP通道,将应用程序从用户自己的服务器上传到服务器上。
本文介绍本地环境为Windows,如何将应用程序上传到服务器。

 在服务器配置FTP服务


1.
root权限下,通过如下命令安装Vsftp

[root@zzxtbl ~]# yum install vsftpd

 

2. 在启动vsftpd服务之前,需要登录云服务器修改配置文件,将匿名登录禁用掉。
打开配置文件,命令如下:

[root@zzxtbl ~]# vim /etc/vsftpd/vsftpd.conf

在配置文件中第11行的“anonymous_enable=YES”前面加上#号,即将匿名登录禁用。

3. 读取生效配置。

[root@zzxtbl ~]# cat /etc/vsftpd/vsftpd.conf |grep^[^#] 
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

 

4. 启动vsftpd服务。

[root@zzxtbl ~]# service vsftpd start

 

5. 设置FTP用户账号。设置成功后,即可通过该账号登录FTP服务器。
1)设置FTP用户的账号,例如账号为“ftpuser1”,目录为/home/ftpuser1,且设置不允许通过ssh登录。

[root@zzxtbl ~]# useradd -d /home/ftpuser1 -s/sbin/nologin ftpuser1

2)设置账号对应的密码,例如密码为“ftpuser1”

[root@zzxtbl ~]# passwd ftpuser1

 

6. 修改vsftpdpam配置,使用户可以通过自己设置的FTP用户帐号和密码连接到云服务器。
1)修改pam

[root@zzxtbl ~]# vim /etc/pam.d/vsftpd

内容修改为:

#%PAM-1.0 
auth required/lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusersonerr=succeed 
auth required/lib64/security/pam_unix.so shadow nullok 
auth required/lib64/security/pam_shells.so 
account required/lib64/security/pam_unix.so 
session required/lib64/security/pam_unix.so 

2)确认修改后的文件是否正确。

[root@zzxtbl ~]# cat /etc/pam.d/vsftpd #%PAM-1.0 
auth required/lib64/security/pam_listfile.so item=user sense=deny file=/etc/ftpusersonerr=succeed 
auth required/lib64/security/pam_unix.so shadow nullok 
auth required/lib64/security/pam_shells.so 
account required/lib64/security/pam_unix.so 
session required/lib64/security/pam_unix.so 

3)重启vsftpd服务,使修改生效。

[root@zzxtbl ~]# service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]

下载并安装开源软件Flashfxp 5.1

http://www.flashfxp.com/download

 连接FTP

运行flashfxp,按下图所示进行配置,配置后点击快速链接
技术分享配置信息说明如下:
1)主机:服务器的公网IP(在云服务器管理视图页面可查看服务器的公网IP)。
2)用户名:中设置的FTP用户的账号,这里以“ftpuser1”为例。
3)密码:中设置的FTP用户账号对应的密码,这里以“ftpuser1”为例。
4)端口:FTP监听端口,默认为“21”

 上传文件到服务器

上传文件时,鼠标选中本地文件,拖拽到远程站点,即将文件上传到了服务器。

注意:
云服务器FTP通道不支持上传tar压缩包后自动解压,以及删除tar包功能。

上传文件示意图如下所示:
技术分享 

通过公网IP对外提供服务


1.
根据部署代码服务器的说明,通过FTP连接到远程站点(服务器)后,在远程站点找到nginx的访问目录,将需要用户访问的文件放到该目录下。
技术分享 

2.在浏览器输入服务器公网IP,以及相应路径下的文件,就可以访问到部署在服务器的文件,即实现通过公网IP提供应用服务。
这里以helloworld为例,如下图所示,即提供服务成功:
技术分享


  以上就是LNMP+FTP的网站架构的部署。

 


快速搭建LNMP+FTP网站

标签:快速搭建lnmp网站

原文地址:http://zzxtbl.blog.51cto.com/7620672/1657107

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!