快速搭建LNMP+FTP网站

   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. 格式化新分区

在进行分区格式化时,用户可以自行决定文件系统的格式,如ext2、ext3等。
这里以“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服务。
命令如下:

[[email protected]_185_51 /]# service nginx restart

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

[[email protected]_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。

[[email protected] /]# service php-fpm start

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

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

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

[[email protected] /]# 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”,保存文件并返回。
通过下面的命令,查看配置是否正确:

[[email protected] /]# cat /etc/nginx/conf.d/default.conf

   3. 配置生效

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

[[email protected] /]# service nginx restart
Stopping nginx: [ OK ]
Starting nginx: [ OK ]

4. 环境配置验证

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

[[email protected] /]# 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。

[[email protected] ~]# yum install vsftpd

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

[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf

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

3. 读取生效配置。

[[email protected] ~]# 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服务。

[[email protected] ~]# service vsftpd start

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

[[email protected] ~]# useradd -d /home/ftpuser1 -s/sbin/nologin ftpuser1

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

[[email protected] ~]# passwd ftpuser1

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

[[email protected] ~]# 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)确认修改后的文件是否正确。

[[email protected] ~]# 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服务,使修改生效。

[[email protected] ~]# 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的网站架构的部署。

时间: 2024-12-19 15:50:25

快速搭建LNMP+FTP网站的相关文章

快速搭建LNMP(1 )

买了遨游的VPS,试用了一下阿里云,1m带宽实在受不了,现在开始跟李炎恢老师试试快速搭建 1.先将VPS重置成centOS 6,第一步需要做的是修改root密码,方便以后使用 # passwd root New password:输入新密码 Retype New password:输入新密码 2.登录www.lnmp.org 查看安装教程 使用命令 wget -c http://soft.vpser.net/lnmp/lnmp1.2-full.tar.gz && tar zxf lnmp1

烂泥:学习ubuntu之快速搭建LNMP环境

本文首发于烂泥行天下 现在公司使用的都是ubuntu系统,这几天由于个别项目需要,需要搭建一个LNMP环境.为了快速搭建这个环境,我使用是apt-get方式进行安装.具体的操作步骤,看下面的文章. PS:按照在centos系统下nginx与php-fpm集成是行不通的,因为按照centos下配置的话,nginx访问的主页是空白的. 一.安装nginx 我们首先来安装nginx,使用如下命令: sudo apt-get -y install nginx nginx安装完毕后,我们来查看nginx都

USBWebServer 中文便携版 快速搭建 PHP/MySQL 网站服务器环境

如果你是一位 WEB 开发者,或正在学习网页编程,你一定会发现,每到一台新电脑上想要在本地调试测试/运行网站代码都得搭建配置一遍 WAMP (Win.Apache.PHP.MySQL) 环境简直烦透了! USBWebserver 是一款非常好用的傻瓜式本地电脑快速架设PHP网站环境的工具,它最大特色是纯绿色便携,可直接放在U盘里随处运行或通过 Dropbox.百度网盘等同步.它集成了 Apache (httpd).PHP.MySQL 以及 PHPMyAdmin 等组件,支持各种流行的PHP程序如

Ubuntu 18.04.1 下快速搭建 LNMP环境(PHP7.2.5+MySql5.7+Nginx1.14.0)

在Linux环境下,搭建LNMP环境,大家以前或多或少都做过相关的操作,但是随着软件的更新,PHP,MySQL不断的升级,以往很多比较老的教程,都已经无法完成这个搭建环境的任务了,今天偶然有兴趣在最新的Ubuntu18.04上搭建LNMP环境,本来感觉挺容易的,但是在实际操作过程中,遇到一个个坑,真是让人哭笑不得,所以写这篇心得,主要是分享在搭建过程中遇到的一些问题进行了整合,来给后入进行排雷. 首先展示搭建成功后的页面 PHP安装成功 MySQL安装成功 来,现在我们开始进行搭建 1.Ngin

烂泥:学习centos之快速搭建LNMP环境

本文由秀依林枫提供友情赞助,首发于烂泥行天下 以前在centos下安装软件都是喜欢源码安装,不过昨天因为一个事情需要一个centos 下的LNMP环境.反倒不会搞了,今天特意记录下,以备后续使用. 一.安装nginx 我们先来安装nginx,如下: yum -y install nginx 通过上图,我们可以看到目前的yum源中是没有nginx软件包的.我们需要安装包含nginx的yum源,如下: rpm -ivh http://nginx.org/packages/centos/6/noarc

自定义shell脚本快速搭建LNMP环境(Ubuntu16.04 LTS / PHP7.0)

循环shell脚本模拟 apt install app, 把需要的app写在apps.txt即可. 一.lnmp_install.sh (需要有可执行权限) #!/bin/bash #Program function : Lnmp基础环境搭建,基于PHP7.0/MySQL5.7,并安装自定义软件 for app in $(cat apps.txt) do comment=${app:0:1} if [ -n ${app} ] then if [[ ${comment} == "#" ]

centos 快速搭建lnmp、lamp+zabbix3.2监控系统

所安装版本mysql 5.6 php5.5 zabbix3.2 centos7 lnmp+zabbix3.2 脚本 #!/bin/bash if [ $(rpm -qi mysql-community-release-el7-5.noarch | wc -l) -lt 2 ];then rpm -Uvh http://repo.mysql.com//mysql-community-release-el7-5.noarch.rpm if [ $? -ne 0  ];then echo "mysql

开源解决方案一:快速搭建单机版 LAMP 网站

LAMP 通常表示 Linux + Apache + MySQL/MariaDB + Perl/PHP/Python,LAMP 的各个组件不是一成不变的,并不局限于它最初的选择.作为一个解决方案套件,LAMP 非常适合构建动态网站和网站应用程序.另外使用类似 Zabbix 这样的组件做监控也是网站必不可少的. 更好的阅读体验,可以点击此处. 安装 LAMP 本文档的 LAMP 代指 Linux + Apache2 + MySQL + php5 且各示例步骤基于 Azure 环境下的 LINUX

ubuntu下快速搭建LNMP环境【图文教程】

一.安装nginx 我们首先来安装nginx,使用如下命令: sudo apt-get -y install nginx nginx安装完毕后,我们来查看nginx都安装了什么文件.使用如下命令进行查看,如下: dpkg -S nginx 通过上图,我们可以看出nginx默认的安装位置是/etc/nginx目录,而且nginx的配置文件nginx.conf也是在该目录下. 除此之外,nginx的默认网站目录在/usr/share/nginx/html下,默认nginx网站配置文件为/etc/ng