标签:快速搭建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. 格式化新分区
在进行分区格式化时,用户可以自行决定文件系统的格式,如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下载源,不需要添加软件源,可以直接安装软件包。
1. 配置yum源:
这采用了搜狐的开源yum源。
2. 在root权限下,通过命令 yuminstall 来安装软件,示例如下:
3. 系统会自动搜索相关的软件包和依赖关系,并且在界面中提示用户确认搜索到的软件包是否合适,如下图所示:
4. 输入“Y”确认后,开始安装软件,安装完成后会提示“Complete”,如下图所示:
软件安装完成后,可通过命令 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-fpm和nginx的配置,实现nginx和php联动。
(1)查看php-fpm默认配置。
[root@zzxtbl /]# 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配置,修改命令如下:
[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. 修改vsftpd的pam配置,使用户可以通过自己设置的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包功能。
1. 根据部署代码服务器的说明,通过FTP连接到远程站点(服务器)后,在远程站点找到nginx的访问目录,将需要用户访问的文件放到该目录下。
2.在浏览器输入服务器公网IP,以及相应路径下的文件,就可以访问到部署在服务器的文件,即实现通过公网IP提供应用服务。
这里以helloworld为例,如下图所示,即提供服务成功:
以上就是LNMP+FTP的网站架构的部署。
标签:快速搭建lnmp网站
原文地址:http://zzxtbl.blog.51cto.com/7620672/1657107