linux服务器下如何新建网站linux服务器怎么搭建网站
如何在自己的linux服务器上建立网站
1。根据机器的用途,许多服务是不必要的。如果Linux只是一个桌面,那么就不需要sendmail、HTTPD和许多其他服务。如果你的服务器只是一个Web服务器,你也可以关闭很多服务。为此,请转到“管理”菜单并检查服务项目。只需撤销任何不想启动的服务选项。
2使用轻量级的窗口管理器,而不是GNOME或KDE。我插入内存占用窗口管理器的原因是它们大大减少了图形(界面)启动时间。而不是等待额外的30到60秒来启动GNOME或KDE。
3确保内网的正常使用。指定内部网LINUX访问地址,并确保LINUX服务器的SSH服务正常工作。
4在被访问的Linux服务器上安装NAT123客户端LINUX并使用它。登录网站,离开用户中心,添加端口映射。选择完整的端口映射类型。
填写内部LINUX固定地址端口,外网访问域名。可以用自己的域名,也可以用二级域名。
5安装nat123客户端,在外网接入端使用访问器。
linux下怎样配置web服务器?
工具/原料
Linux操作系统
Web服务器配置详解
方法/步骤
1Apache是Linux下的Web服务器,Apache用的是静态页面,需要加载模块来支持动态页面,会动态实时的调整进程来处理,最合理的使用多核CPU资源,支持虚拟主机应用,多个Web站点共享一个IP地址。
安装Web服务
先安装Web服务,通过命令yumgroupinstall命令进行安装,建议用groupinstall而不用Install是因为groupinstall,会把该服务所有相关的服务包一起安装,这样不会有丢失。
2通过servicehttpdrestart来开启服务,这里用restart而不用start的原因是restart更安全,因为不知道该服务是否已经开启,如果已经start了再次用start可能会有意外的问题产生,故这里用restart
3通过命令chkconfighttpdon来开启httpd服务在下次开机后,仍然是开启有效的,这样的好处在于通过设置自动开启服务,避免人为失误操作,也会保证计算机重启或者断电后服务还是开启的。
4验证httpd服务是否正常开启,是否能够对外提供服务,进入/var/www/html/,这里是主站点,写一个简单的页面,然后重定向到indexhtml,这是默认的首页。通过http访问该服务,发现已经成功服务该站点。
5通过命令vim/etc/httpd/conf/httpdconf可以对httpd配置文件进行修改,也可以用配置文件里面的功能,有些功能用#号注释掉了,如果想使用该功能的话,直接删除#号,可以让内置的配置文件该功能生效。
6通过命令ll/etc/httpd可以查看到该目录下有conf和confd目录文件,再进一步查看/etc/httpd/confd下面可以看到的文件都是httpd的模块文件,用来支持动态页面的模块文件。
7Apache和Selinux之间的关系,进入/var/www/html/目录下,通过ll_Z查看目录下indexhtmlSelinux属性,通过命令ps_auxZ|grephttp查看httpd的进程,这些http进程都有httpd_t的Selinux上下文属性,Selinux就规定了http_t这类的进程上下文属性可以访问httpd_sys_content_t这类文件的上下文属性,从而保证了网站的内容可以被访问。
8查看Apache日志信息,日志信息存储在/var/log/httpd/目录下,可以查看http访问的日志及https的访问日志,可以查看错误的http日志及https的错误日志等信息,
linux怎么做网页?
要用linux提供网页服务,首先你得安装好linux操作系统,把它连接到网上,保证可以从其他的电脑访问这台电脑,然后再安装一个http服务器,把你做的网页文件放到http服务器指定的根目录下面,这样就可以从其他的设备访问你的网页文件了。
如何在自己的linux服务器上搭建网站?
首先需要基本的linux系统知识,在linux系统之上安装web服务组件诸如LAMPLNMPTengine等等,然后需要基本的前/后端语言知识,比如htmlphpcssjs等将网站代码防治到已经架设好的web服务器上就可以实现访问了,最后注册一个域名做好域名解析。
怎样用linux系统架设自己的网站?
首先需要基本的linux系统知识,在linux系统之上安装web服务组件诸如LAMPLNMPTengine等等,然后需要基本的前/后端语言知识,比如htmlphpcssjs等将网站代码防治到已经架设好的web服务器上就可以实现访问了,最后注册一个域名做好域名解析。
随着Linux不断发展,Linux所支持的文件系统类型也在迅速扩充。很多的数据中心服务器上都运行着Linux,可以节省大量的许可证费用及维护费用。但伴随着Linux新版本的发行,其中每一个不同版本的Linux所支持的文件系统类型都有所不同。
那么,对于这种情况来说,Linux系统家族中也划分着针对不同的用户群,比如Ubuntu被认为Linux新用户最容易操作的平台,而Slackware Linux是需要经过有着一定应用基础的用户,CentOS是一个企业级的发行版,特别适合对稳定性,可靠性和功能要求较高用户。
由此,笔者列出了目前10个最流行的Linux服务器发行版,与大家共同了解和学习开源技术中易用性、具备商业支持及具备数据中心的可靠性的Linux服务器系统平台。
Ubuntu系统平台
提到Linux,作为几乎所有Linux相关产品的榜首,基于Debian的Ubuntu可谓独树一帜,特别是为了满足每个用户的需求,出现了不少版本或风格的Ubuntu。其中桌面版和服务器版从简易的安装,到卓越的硬件恢复能力,再到世界级的商业支持水平,Ubuntu都超越了所有其它版本。而对于服务器版Ubuntu,包含了所有需要启动托管站点的软件,LAMP即Linux、Apache、MySQL和PHP的缩写,列出了与web服务器相关的软件。
Ubuntu系列产品发行版
Ubuntu版本的命名规则是根据正式版发布的年月命名,Ubuntu 810也就意味着2008年10月发布的Ubuntu,研发人员与用户可从版本号码就知道正式发布的时间。Ubuntu是基于Debian开发的Linux发布版,Debian的开发代号来自于**玩具总动员,不过,Ubuntu各版本的代号却固定是形容词加上动物名称,而且这2个词的英文首字母一定是相同的。
而作为开源技术中另一个流行版,红帽企业版Linux(RHEL)从高呼着"几乎没有Linux公司可以做到"开始,到现在已经成为了追寻数据中心存储架区的主要力量。Linux是全世界大型企业的宠儿,红帽的创新精神和不间断的支持服务为它赢得了用户。
Red HatLinux平台
RHEL是Red Hat公司的Linux系统。随着红帽企业Linux 63发布,包含增强一些新功能设计虚拟化、文件系统、存储、安全、帐号管理以及硬件支持方面的内容,近50个新特性和改进中值得关注,特别Virt-P2V新工具用于将Windows或者红帽系统转成虚拟映像。
Novell旗下以稳定和易于维护着称的SUSE Linux,是Linux操作系统其中一个发行版,也是德国的一个发行版。SUSE属于Novell旗下的业务,它同时亦是Desktop Linux Consortium的发起成员之一。
SUSE Linux 11企业版
最新的版本,SUSE Linux 11分别有零售版本及自由、开放源代码的版本,叫作SUSE Linux OSS。另外,SUSE Linux也提供了一个企业服务器版本,名为SUSE Linux Enterprise Server可以免费取得,但如果不付款只提供30天的更新服务。
SUSE Linux(来源PCWORLDcom)
SUSE有别于其他的Linux发布版提供立即为他们的新版本提供免费下载。SUSE首先发布盒装,包含说明手册的个人版(Personal)及专业版(Professional),然后才于几个月后提供FTP网络安装。
对于美国和国内的管理和技术人员来说,Mandriva可能会有些陌生,这个结构合理到令人难以置信的Linux发行版本来自法国并受到了欧洲和南美地区的广泛接受,Mandriva的名字和结构来源于Mandrake Linux和Connectiva Linux。
Mandriva企业版
与其他产品类似,Mandriva的版本以发布年份直接命名,Mandriva为用户提供付费的企业版(Enterprise Server)和免费的个人版(One、Free),另外也有付费的个人加强版(Powerpack),现在的最新正式版Mandriva Linux 20102。
Xandros服务器版
而谈及开源技术,很难避开微软操作系统,与微软有关的Linux版本,Xandros将是一个不错的选择,这个名称由Xandros系统采用X Window系统,与希腊的安德罗斯岛(Andros)组合而来。Xandros和微软在技术圈内的确在进行所谓的合作,同时也在进行竞争。Xandros系统是GNU/Linux操作系统的一种发行版本,由Xandros公司发行,采用的是商业发行模式。
据悉Xandros的发行版本主要有:桌面专业版、桌面家庭版以及服务器标准版。
作为开源软件,Slackware与商业版本的关系并不大,但与几家提供付费支持的厂商一直保持的合作关系。作为最早的可用版本之一,Slackware Linux是由Patrick Volkerding开发的GNU/Linux发行版。与很多其他的发行版不同,它坚持KISS(Keep It Simple Stupid)的原则,就是说没有任何配置系统的图形界面工具。
Slackware Linux发行版
据了解,Slackware与其他的发行版本(Red Hat、Debian、Gentoo、SuSE、 Mandriva、Ubuntu等)不同的道路,它力图成为“UNIX风格”的Linux发行版本。只吸收稳定版本的应用程序,并且缺少其他linux版本中那些为发行版本定制的配置工具。
Slackware软件
Slackware主要为x86 PC开发,从2005年起开始出现针对System/390架构的官方移植。同时ARM、DEC Alpha、SPARC和PowerPC也存在一些非官方的移植。针对x86的最新稳定发布版本是131,其中包括了26334版本内核,及KDE SC 443、XFCE 461及其它常用软件。
对于Debian并没有正式的商业支持,但是通过它的咨询页面在世界范围连接Debian顾问,比其它Linux的母版本比如Ubuntu,Linux Mint等而言,Debian则更多地开发子版本。
由于Debian项目众多内核分支中以Linux宏内核为主,而且Debian开发者所创建的操作系统中绝大部分基础工具来自于GNU工程,因此“Debian”常指Debian GNU/Linux。
Debian Linux系统
Debian是一个大的系统组织框架,在这个框架下有多种不同操作系统核心的分支计划,主要为采用Linux核心的Debian GNU/Linux系统,其他还有采用GNU Hurd核心的Debian GNU/Hurd系统、采用FreeBSD核心的Debian GNU/kFreeBSD系统,以及采用NetBSD核心的Debian GNU/NetBSD系统。以采用Linux核心的Debian GNU/Linux最为着名。
Debian版本信息
Debian主要分三个版本:稳定版本(stable)、测试版本(testing)、不稳定版本(unstable)。目前的稳定版本为Debian Squeeze,目前的测试版本为Debian Wheezy,不稳定版本永远为Debian sid。
对PC操作系统而言,Vyatta更多的是用在家庭的路由器和防火墙上,特别是商业驱动版本Vyatta能够很好地支持的通信需求。Vyatta software是一份完整的、即刻可用的、基于Debian的Linux发行版,它被设计为能将一套标准的x86硬件转换为企业级的路由器/防火墙。
Vyatta软件
Vyatta软件包括对常用网络接口、工业标准路由协议和管理协议的支持。与先前的开源软件路由项目不同,所有的这些特性都可以通过单个的命令行接口(CLI)或是基于web的图形用户界面来配置。Vyatta软件可以以自由社区版本获得,它也以捆绑软件订购的形式提供,这包含了维护、升级和技术支持。
就CentOS平台而言,并不能算是严格意义上的商业版本,它是来自于Red HatEnterprise Linux依照开放源代码规定发布的源代码所编译而成,但CentOS同时有它自己的套件库和通信支持并与Fedora Linux有所区别。
CentOS操作系统平台
CentOS也叫做社区企业操作系统,是企业Linux发行版Red Hat Enterprise Linux(以下称之为RHEL)的再编译版本。RHEL是很多企业采用的Linux发行版本,但是如果想得到RedHat的服务与技术支持,用户必须向Red Hat付费才可以。
CentOS已经发布了6系列的第三个版本,CentOS 63基于上游的红帽RHEL 63,继承了Red Hat Linux的稳定性,而且又提供免费更新,它包含了很多错误修正、升级和新功能。
Unbreakable Linux
另一个依托红帽开源平台,Unbreakable Linux为甲骨文发布的企业级Linux,其基于Red Hat Enterprise Linux,其免费供应于大众下载、使用与发布,并为Red Hat版Linux用户提供有偿支持。
此外,甲骨文Linux有两种内核:使用RHEL源代码编译和Oracle Unbreakable Enterprise内核,同时Unbreakable Enterprise内核兼容RHEL,Oracle中间件和经过RHEL认证的第三方应用程序可在Unbreakable Enterprise内核上运行。
对于十大最流行的Linux服务器发行版,开源系统让更多的用户打造更加灵活丰富的管理功能,Linux作为一款开放源代码操作系统产品,如何为上下游产业链创造价值,是Linux厂商需要面对的难题,未来随着困扰Linux进一步推动产业发展的“顽症”解决,开源技术平台将不断走上舞台亮相用户。
既然使用了java,实现这种功能就与OS无关了,否则叫什么跨平台。其实用浏览器下载服务器端文件比较容易:
首先,要让用户能找到并选择文件(jsp里实现,部分代码)
String realPath=requestgetSession()getServletContext()getRealPath("")+"/documents";//项目根目录下文件路径
File fileDir=new File(realPath);
String[] fileList=fileDirlist();//返回目录下文件名称数组
for(int i=0;i<fileListlength;i++){
//这里遍历出来要显示的文件名,加到td里,后面再加上个“下载”按钮
//使用隐藏input记录文件名和路径fileName,filePath
}
其次,提交下载请求并下载
使用form提交用户选择的文件名,Action中部分代码:
String fileName=reqgetParameter("fileName");//HttpServletRequest req
String filePath=reqgetParameter("filePath");
try {
FileDownloadDownload(filePath+"/"+fileName, "attachment", res);
} catch (Exception e) {
eprintStackTrace();
}
下面是 FileDownload类:
package comaerolinkaocsutilfileUtil;
import javaioDataInputStream;
import javaioFile;
import javaioFileInputStream;
import javaioFileNotFoundException;
import javaioIOException;
import javaxservletServletOutputStream;
import javaxservlethttpHttpServletResponse;
/
<p>
Title: FileDownload类
</p>
<p>
Description: 实现文件下载功能
</p>
<p>
将文件名,HttpServletRequest,HttpServletRespons传给静态方法Download即可
</p>
<p>
Copyright: Copyright (c) 2005
</p>
<p>
Company: 北京天航信达信息技术有限公司
</p>
@author 陶源
@version 20
/
public class FileDownload {
/
@param fileName
@param res
@throws FileNotFoundException
@throws IOException
/
public static void Download(String fileName,
HttpServletResponse res)
throws FileNotFoundException, IOException {
String fileContentType = "application/octet-stream";
String fileDownloadType = "attachment";
long totalsize = 0;
// 取得要传输的文件,实际应用是可以将文件路径以参数的形式传入
File f = new File(fileName);
// 取文件长度
long filelength = flength();
byte[] b = new byte[1024];
// 设置文件输出流
FileInputStream fin = new FileInputStream(f);
DataInputStream in = new DataInputStream(fin);
int pos = fileNamelastIndexOf(javaioFileseparator);
String fn = new String(fileNamesubstring(pos + 1)getBytes("gb2312"),
"ISO8859-1");
// 设置相应头信息,让下载的文件显示保存信息
ressetContentType(fileContentType);
ressetHeader("Content-Disposition", fileDownloadType + ";filename=\""
+ fn + "\"");
// 确定长度
String filesize = LongtoString(filelength);
// 设置输出文件的长度
ressetHeader("Content-Length", filesize);
// 取得输出流
ServletOutputStream servletOut = resgetOutputStream();
// 发送文件数据,每次1024字节,最后一次单独计算
while (totalsize < filelength) {
totalsize += 1024;
if (totalsize > filelength) {
// 最后一次传送的字节数
byte[] leftpart = new byte[1024 - (int) (totalsize - filelength)];
// 读入字节数组
inreadFully(leftpart);
// 写入输出流
servletOutwrite(leftpart);
} else {
// 读入1024个字节到字节数组 b
inreadFully(b);
// 写和输出流
servletOutwrite(b);
}
}
servletOutclose();
}
/
@param fileName
@param fileDownloadType
@param res
@throws FileNotFoundException
@throws IOException
/
public static void Download(String fileName, String fileDownloadType,
HttpServletResponse res)
throws FileNotFoundException, IOException {
String fileContentType = null;
if (fileNameendsWith("doc")) {
fileContentType = "application/msword";
} else if (fileNameendsWith("pdf")) {
fileContentType = "application/pdf";
} else if (fileNameendsWith("xls")) {
fileContentType = "application/vnd-ms-excel";
} else if (fileNameendsWith("txt")) {
fileContentType = "text/plain";
} else {
fileContentType = "application/octet-stream";
}
long totalsize = 0;
// 取得要传输的文件,实际应用是可以将文件路径以参数的形式传入
File f = new File(fileName);
// 取文件长度
long filelength = flength();
byte[] b = new byte[1024];
// 设置文件输出流
FileInputStream fin = new FileInputStream(f);
DataInputStream in = new DataInputStream(fin);
int pos = fileNamelastIndexOf(javaioFileseparator);
String fn = new String(fileNamesubstring(pos + 1)getBytes("gb2312"),
"ISO8859-1");
// 设置相应头信息,让下载的文件显示保存信息
ressetContentType(fileContentType);
ressetHeader("Content-Disposition", fileDownloadType + ";filename=\""
+ fn + "\"");
// 确定长度
String filesize = LongtoString(filelength);
// 设置输出文件的长度
ressetHeader("Content-Length", filesize);
// 取得输出流
ServletOutputStream servletOut = resgetOutputStream();
// 发送文件数据,每次1024字节,最后一次单独计算
while (totalsize < filelength) {
totalsize += 1024;
if (totalsize > filelength) {
// 最后一次传送的字节数
byte[] leftpart = new byte[1024 - (int) (totalsize - filelength)];
// 读入字节数组
inreadFully(leftpart);
// 写入输出流
servletOutwrite(leftpart);
} else {
// 读入1024个字节到字节数组 b
inreadFully(b);
// 写和输出流
servletOutwrite(b);
}
}
servletOutclose();
}
}
0条评论