【linux】在linux(ubuntu)上部署web应用

时间:2021-07-14 13:25:20

由于linux的服务器普遍安全性高,速度快,占用资源少等情况,而且支持php,mysql等良好。所以学会在linux上部署web应用至关重要。但日常通常使用windows写php等的web程序,使用dreamweaver等工具,写php,html,css,javascript等实在方便,配置mysql等,也有大量的可视化界面,方便快捷。而在linux上写代码,往往过于麻烦,当然好处是体现出使用linux的水平高。

本文所讲的内容就是使用telnet的方法,当然有伙伴说这种方法采用明文传输,不太安全,可以采用ssh连接的方式,但本人大胆以为,这两种方式形式可能一样。便使用telnet进行。

首先说一下本人采用各种平台环境和下载了的软件包

远程机:ubuntu12.04 x64 局域网 IP:192.168.1.8  数据库:mysql web后台开发环境:php 服务器应用平台:Apache2 

主机:windows7 局域网 IP:192.168.1.3  PHPnow-1.5.6套件(数据库MySQL-5.0.90 web后台开发环境php-5.2.14-Win32 服务器应用平台:Apache-20)可传送文件的远程命令终端:SecureCRT

1.搭建好一切的环境,所有windows平台上软件自行百度。

因为是试验,真的linux服务器本人并没有,ubuntu采用VMware搭建虚拟机,这个也自行百度(VMware安装ubuntu)或在本博客其他博客里也可以找到很多。在这里重要的一点是网络设置那里设置为桥接模式,为了避免后期ping通网络麻烦。当然在真机上就没这步了。这里再说下ubuntu中各种密码,一律为root,方便快捷,当然根据自己安全需要设置密码

【linux】在linux(ubuntu)上部署web应用

2.同时登录linux和windows,linux打开终端输入命令ping 192.168.1.3 ;windows打开始->cmd输入命令ping 192.168.1.8。网络互相ping通,如果ping不通,后续一切的操作都没用,检查两者的网络的连通状态。

【linux】在linux(ubuntu)上部署web应用

【linux】在linux(ubuntu)上部署web应用

这里为了方便在root环境下操作,插一句话,直接使用su root进入#字符的root环境操作,则后续很多操作就再也不需要输入密码了。初始的密码采用sudo passwd root 修改 

保证网络能连通时,还有一个原因是linux上防火墙iptables的问题。不过默认的iptables是允许任何数据包通过了,为了保险这里进行如下配置

 

modprobe ip_tables
iptables -L
iptables -F
iptables -X
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

这样意味着你的所有数据包都可以*进出了。如果需要安全的话,可以详见blog:【linux】在Ubuntu下的iptables配置。配置允许http,telnet,ssh等数据包进出就可以了

3.网络没问题,就开始mysql-php-apache的配置。这里就简单了,这三者的配置在(ubuntu)上的配置远远简单于在windows上,只需要一条命令,接着等待,选y,然后让输各种密码的时候输入root,当然上面我已说过,根据自己需要设置密码。


sudo apt-get install apache2 mysql-server mysql-client php5 php5-gd php5-mysql
sudo apt-get install phpmyadmin


这里的安装的详细过程请看朋友的博客:【Linux】在Ubuntu中布置LAMP环境配置完后网页访问一下192.168.1.8

【linux】在linux(ubuntu)上部署web应用


4.在linux上配置telnet服务,首先安装telnet服务包,首先还是在su root下使用sudo apt-get install telnet命令,如果出现如下错误的话。

【linux】在linux(ubuntu)上部署web应用

说什么不能解锁,这里的方法是rm /var/lib/dpkg/lock  强制删除这个内容。然后再执行sudo apt-get install telnet。

然后执行sudo apt-get install xinetd telnetd  这两个包一个是客户端一个是服务器端应该,这里为了测试两个都装上

【linux】在linux(ubuntu)上部署web应用


sudo gedit /etc/inetd.conf并加入以下一行

telnet stream tcp nowait telnetd /usr/sbin/tcpd /usr/sbin/in.telnetd

然后分别配置这两个包的配置文件


sudo gedit /etc/xinetd.conf并加入内容:


defaults

{


instances = 60

log_type = SYSLOG authpriv

log_on_success = HOST PID

log_on_failure = HOST

cps = 25 30

}

【linux】在linux(ubuntu)上部署web应用

 sudo gedit /etc/xinetd.d/telnet并加入以下内容:

# default: on

# description: The telnet server serves telnet sessions; it uses \

# unencrypted username/password pairs for authentication.

service telnet

{

disable = no

flags = REUSE

socket_type = stream

wait = no

user = root

server = /usr/sbin/in.telnetd

log_on_failure += USERID

}
【linux】在linux(ubuntu)上部署web应用
重启机器或重启网络服务sudo /etc/init.d/xinetd restart


【linux】在linux(ubuntu)上部署web应用


5.在windows上配置telnet服务。开始->控制面板->程序和功能->打开或关闭windows功能,telnet客户端和服务器端都勾选上,其实只要客户端就可以了。这里为了测试本机是否能telnet本机,以确保本机的telnet服务正常开启了。

【linux】在linux(ubuntu)上部署web应用


设置telnet启动和开机启动,开始->控制面板->管理工具->服务->Telnet->属性,启动类型设置为自动,服务状态->启动

【linux】在linux(ubuntu)上部署web应用

这里插一句给设置了windows防火墙的用户,开始telnet不上,原来是默认windows防火墙可能会不允许telnet数据包通过。没设置的当然自动通过了,当然你也可以把windows防火墙关闭了。但好像对一部分人来说总有点用处。这里就说下怎么设置windows防火墙出入站规则。开始->控制面板->windows防火墙->高级设置->新建出站规则->端口->下一步->特定远程端口:23->下一步->允许连接->下一步->下一步->名字随意,建立入站规则同理。

【linux】在linux(ubuntu)上部署web应用


测试telnet服务,出现是否发送密码,这里选N。否则,根本连不上,出现login:这里我专门在windows7上的用户账户里添加了一个账户root,密码root,为管理员权限。因为远程计算机如果没设置密码的话,telnet不上。

telnet 192.168.1.3
【linux】在linux(ubuntu)上部署web应用

再测试能否连上linux远程机

telnet 192.168.1.8


不能连上linux能连本机,说明linux的telnet 配置有问题,找到问题,可以回复下作者,共同探讨如何解决。因为linux环境配置虽然大部分相同,但不同版本linux缺少各种关联的程序包。这里统一的方法是使用sudo apt-get install 您需要的程序包的名字  命令来安装上,保证网络通畅。

6.前面说过了,windows下,也就是主机下打开SecureCRT,这个远程连接的工具可以直接发送文件,将在windows上写好的程序包和数据库备份文件用zip格式打包,注意这里最好为zip格式,因为Ubuntu版本默认是支持 .zip格式的,如果采用rar格式的话,你还要在linux里sudo apt-get install rar  下载对应的程序包。通过rar -x web.rar解压到linux的var/www目录下,这里说zip的格式。

首先快速连接上远程机

【linux】在linux(ubuntu)上部署web应用

登录login:cxh,(linux的用户名)password:root(密码)

【linux】在linux(ubuntu)上部署web应用

连接上后一切都是linux环境下的命令了。有点说下,这里能连上linux那其实前面说的php-mysql-apache的配置,也可以放到这里来了,所以,在linux上只要配置好了telnet服务,一切都可以通过远程连接来使用了。

还是在root环境#字符下面操作,su root。定位到/var/www目录下,这是在配置linux下的apache服务默认的站点目录,就是访问linux网站的根目录,cd../.. /var/www进去。

【linux】在linux(ubuntu)上部署web应用

使用lrzsz命令,这里如果显示错误,说明linux中没有这个包,使用sudo apt-get install lrzsz 安装好,避免出错,出错的话注意错误信息,并解决。

【linux】在linux(ubuntu)上部署web应用

如果lrzsz程序包安装完好,输入命令rz会弹出一个选择windows下文件的窗口,把打包好的程序和数据库备份文件添加进来,确定后,SecureCRT就会往linux下的当前目录发送文件了。这里mysql数据库备份还原的内容详见:【Mysql】MySQL导出数据库与导入数据库

【linux】在linux(ubuntu)上部署web应用

用unzip解压web应用程序,unzip mvc_bbs.zip(windows平台下写好的phpweb应用)

【linux】在linux(ubuntu)上部署web应用

导入mysql数据库,参考前面的还原mysql数据库。把数据库导入到linux中来使用,先连接上mysql,用户名root,密码root

【linux】在linux(ubuntu)上部署web应用

然后建立一个和备份中同名的数据库,use它,并source

【linux】在linux(ubuntu)上部署web应用

数据库则配置完成。

7.linux服务器配置完成后只需要一直开着就ok了,在主机(windows7)下浏览器访问http://192.168.1.8/mvc_bbs即可

【linux】在linux(ubuntu)上部署web应用

这里还有一点要注意了,如果前面的phpmyadmin环境没配置好的话,mysql数据库会连接不上显示网络不能连接。