apache启动脚本
⑴ shell脚本启动和停止apache 检查apache的运行状态 如果apache启动了就让它停止 ,如果停止了就启动apach
ps -fe |grep "/usr/sbin/httpd"
if [ $? -eq 1 ]
then
service httpd restart
else
service httpd stop
fi
前面的grep里面的内容根据本机的情况进行修改
⑵ 怎么配置Apache来运行python编写的cgi脚本
配置Apache web服务器,让其能运行CGI脚本
在这个教程里,我们假设Apache web服务器已经安装好,并已运行。这篇教程使用的Apache web服务器(版本2.2.15,用于CentOS发行版6.5)运行在本地主机(127.0.0.1),并且监听80端口,如下面的Apache指令指定一样:
ServerName 127.0.0.1:80Listen 80
下面举例中的HTML文件存放在web服务器上的/var/www/html目录下,并通过DocumentRoot指令指定(指定网页文件所在目录):
DocumentRoot "/var/www/html"
现在尝试请求URL:http://localhost/page1.html
这将返回web服务器中下面文件的内容:
/var/www/html/page1.html
为了启用CGI脚本,我们必须指定CGI脚本在web服务器上的位置,需要用到ScriptAlias指令:
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
以上指令表明CGI脚本保存在web服务器的/var/www/cgi-bin目录,请求URL里包含/cgi-bin/的将会搜索这个目录下的CGI脚本。
我们必须还要明确CGI脚本在/var/www/cgi-bin目录下有执行权限,还要指定CGI脚本的文件扩展名。使用下面的指令:
<Directory "/var/www/cgi-bin"> Options +ExecCGI AddHandler cgi-script .py</Directory>
下面访问URL:http://localhost/cgi-bin/myscript-1.py
这将会调用web服务器中下面所示脚本:
/var/www/cgi-bin/myscript-1.py
创建一个CGI脚本
在创建一个Python CGI脚本之前,你需要确认你已经安装了Python(这通常是默认安装的,但是安装版本可能会有所不同)。本篇教程使用的脚本是使用Python版本2.6.6编写的。你可以通过下面任意一命令(-V和--version参数将显示所安装Python的版本号)检查Python的版本。
$ python -V$ python --version
如果你的Python CGI脚本要用来处理用户输入的数据(从一个web输入表单),那么你将需要导入Python cgi模块。这个模块可以处理用户通过web输入表单输入的数据。你可以在你的脚本中通过下面的语句导入该脚本:
import cgi
你也必须修改Python CGI脚本的执行权限,以防止web服务器不能调用。可以通过下面的命令增加执行权限:
# chmod o+x myscript-1.py
Python CGI例子
涉及到Python CGI脚本的两个方案将会在下面讲述:
使用Python脚本创建一个网页
读取并显示用户输入的数据,并且在网页上显示结果
注意:Python cgi模块在方案2中是必需的,因为这涉及到用户从web表单输入数据。
例子1 :使用Python脚本创建一个网页
对于这个方案,我们将通过创建包含一个单一提交按钮的网页/var/www/html/page1.html开始。
<html><h1>Test Page 1</h1><form name="input" action="/cgi-bin/myscript-1.py" method="get"><input type="submit" value="Submit"></form></html>
当"提交"按钮被点击,/var/www/cgi-bin/myscript-1.py脚本将被调用(通过action参数指定)。通过设置方法参数为"get"来指定一个"GET"请求,服务器将会返回指定的网页。/var/www/html/page1.html在浏览器中的显示情况如下:
/var/www/cgi-bin/myscript-1.py的内容如下:
#!/usr/bin/pythonprint "Content-Type: text/html"print ""print "<html>"print "<h2>CGI Script Output</h2>"print "<p>This page was generated by a Python CGI script.</p>"print "</html>"
第一行声明表示这是使用 /usr/bin/python命令运行的Python脚本。"Content-Type: text/html"打印语句是必需的,这是为了让web服务器知道接受自CGI脚本的输出类型。其余的语句用来输出HTML格式的其余网页内容。
当"Submit"按钮点击,下面的网页将返回:
这个例子的要点是你可以决定哪些信息可以被CGI脚本返回。这可能包括日志文件的内容,当前登陆用户的列表,或者今天的日期。在你处理时拥有所有python库的可能性是无穷无尽的。
例子2:读取并显示用户输入的数据,并将结果显示在网页上
对于这个方案,我们将通过创建一个含有三个输入域和一个提交按钮的网页/var/www/html/page2.html开始。
<html><h1>Test Page 2</h1><form name="input" action="/cgi-bin/myscript-2.py" method="get">First Name: <input type="text" name="firstName"><br>Last Name: <input type="text" name="lastName"><br>Position: <input type="text" name="position"><br><input type="submit" value="Submit"> </form></html>
当"Submit"按钮点击,/var/www/cgi-bin/myscript-2.py脚本将被执行(通过action参数指定)。/var/www//html/page2.html显示在web浏览器中的图片如下所示(注意,三个输入域已经被填写好了):
/var/www/cgi-bin/myscript-2.py的内容如下:
#!/usr/bin/pythonimport cgiform = cgi.FieldStorage()print "Content-Type: text/html"print ""print "<html>"print "<h2>CGI Script Output</h2>"print "<p>"print "The user entered data are:<br>"print "<b>First Name:</b> " + form["firstName"].value + "<br>"print "<b>Last Name:</b> " + form["lastName"].value + "<br>"print "<b>Position:</b> " + form["position"].value + "<br>"print "</p>"print "</html>"
正如前面提到,import cgi语句用来确保能够处理用户通过web输入表单输入的数据。web输入表单被封装在一个表单对象中,叫做cgi.FieldStorage对象。一旦开始输出,"Content-Type: text/html"是必需的,因为web服务器需要知道接受自CGI脚本的输出格式。用户输入的数据在包含form["firstName"].value,form["lastName"].value,和 form["position"].value的语句中可以得到。那些中括号中的名称和/var/www/html/page2.html文本输入域中定义的名称参数一致。
当网页上的"Submit"按钮被点击,下面的网页将被返回。
这个例子的要点就是你可以很容易地读取并显示用户在web表单上输入的数据。除了以字符串的方式处理数据,你也可以用Python将用户输入的数据转化为可用于数值计算的数字。
附上出处链接:https://linux.cn/article-4377-1.html
⑶ Linux下编写自动安装mysql apache php脚本
1.1 编译安装
# groupadd mysql
# useradd -g mysql -d /usr/local/lib/mysql -s /sbin/nologin mysql
# tar zxvf mysql-x.x.x
# cd mysql-x.x.x
# ./configure --prefix=/usr/local/lib/mysql --localstatedir=/usr/local/lib/mysql/data --with-charset=utf8 --with-extra-charsets=all
# make
# make install
# cp support-files/my-medium.cnf /etc/my.cnf
# cd /usr/local/lib/mysql
# mkdir data
# bin/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql data
# chgrp -R mysql .
# echo "/usr/local/lib/mysql/bin/mysqld_safe &" >> /etc/rc.local
# /usr/local/lib/mysql/bin/mysqld_safe --user=mysql &
1.2 进入mysql的DBMS
# /usr/local/lib/mysql/bin/mysql -u root -p
enter password: <Enter>
*注:默认mysql的root用户口令为空
1.3 mysql数据在页面显示为中文乱码的问题
--with-extra-charsets=all是解决中文乱码的关键参数,它的作用是安装额外的字符集,其中即包括gbk等中文字符集。在创建数据库时手工指定字符集为gbk,这样就可以保证同样使用gbk字符集的HTML页面正常地显示中文了:
create database <db_name> default character set gbk collate gbk_chinese_ci;
2. 安装Apache
===============
2.1 编译安装
# tar zxvf httpd-x.x.x.tar.gz
# cd httpd-x.x.x
# ./configure --prefix=/usr/local/lib/apache --enable-so --enable-mods-shared=all --enable-rewrite=shared --enable-speling=shared
# make
# make install
2.2 apache启动停止命令
# /usr/local/lib/apache/bin/apachectl start
# /usr/local/lib/apache/bin/apachectl stop
# /usr/local/lib/apache/bin/apachectl restart
2.3 自动运行
# echo "/usr/local/lib/apache/bin/apachectl start" >> /etc/rc.local
2.4 apache启动时可能出现的错误
[Fri Dec 30 09:35:01 2005] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
⑷ 如何使用service脚本来启动,停止,重启apache服务
本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况
apahce启动命令:
推荐/usr/local/apache2/bin/apachectl
start
apaceh启动
apache停止命令
/usr/local/apache2/bin/apachectl
stop
停止
apache重新启动命令:
/usr/local/apache2/bin/apachectl
restart
重启
要在重启
Apache
服务器时不中断当前的连接,则应运行:
/usr/local/sbin/apachectl
graceful
如果apache安装成为linux的服务的话,可以用以下命令操作:
service
httpd
start
启动
service
httpd
restart
重新启动
⑸ 怎样用linux系统架设自己的网站
linux网站搭建是:Apache+php+Mysql。Apache 是世界排名第一的Web 服务器, 根据Netcraf所作的调查,世界上百分之五十以上的Web 服务器在使用Apache。在搭建平台时,也可以直接使用RPM 包来安装,但是由于使用RPM 包在一些系统上不支持,因此我们使用更通用的方法:直接从源代码来装。
Apache 的特性:
1) 几乎可以运行在所有的计算机平台上.
2) 简单而且强有力的基于文件的配置(HTTPD.CONF)
3) 支持通用网关接口(CGI)
4) 支持虚拟主机.
5) 支持HTTP 认证.
6) 集成PERL.
7) 可以通过WEB 浏览器监视服务器的状态, 可以自定义日志.
8) 支持服务器端包含命令(SSI).
9) 支持安全SOCKET 层(SSL).
10) 具有用户会话过程的跟踪能力.
11) 支持FASTCGI
12) 集成的代理服务器
一:装Mysql
下载Mysql(连到物理机上),我们首先看看虚机和物理机的连通性,虚机是192.168.0.13,物理机是192.168.0.114.重启一下Network服务:service network restart,然后ping一下物理机。
发现是通的,网络连接正常,可以进行链接了#smbclient //192.168.0.114/src –U administrator,进入后查看我们用到的源码包,ls查看命令。
二:Apache安装
三:Php安装
图文连接:http://blog.chinaunix.net/uid-22787601-id-1769246.html
你TMD的是SB , 别个说了要如何安装软件吗,尼玛,想骗操作量就直接说
⑹ apache服务器启动关闭脚本的编写
本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况
apahce启动命令:
推荐/usr/local/apache2/bin/apachectl start apaceh启动
apache停止命令
/usr/local/apache2/bin/apachectl stop 停止
apache重新启动命令:
/usr/local/apache2/bin/apachectl restart 重启
要在重启 Apache 服务器时不中断当前的连接,则应运行:
/usr/local/sbin/apachectl graceful
如果apache安装成为linux的服务的话,可以用以下命令操作:
service httpd start 启动
service httpd restart 重新启动
⑺ 关于linux下apache打开ssl支持的问题
你看一下那个软件包是不是有什么依托关系,如果有是不是你安装的时候出错了。记得LINUX安装软件的话最好在终端下安装。
如果没有依托关系的话可能是环境变量的问题,你也可以修改以下你启动加载项,看看etc/rc.d/rc.local里面的启动脚本有没有问题~
你是不是做Apache服务器啊,我就知道httpd的普通执行文件放在:/usr/bin中,只是对普通用户有可执行权限,管理程序统一放在/usr/sbin目录下。只有ROOT拥护才有权限更改。
Apache服务器的配置文件保存在etc/httpd里面
Apache服务器的启动脚本保存在:etc/rc.d/init.d/里面
Apache服务器的工作目录保存在;/var目录中的WWW子目录中
Apache服务器的的文档说明保存在usr/share/doc目录的httpd-2.0.52子目录中。
剩下的就看自己的了。网址是:www.chinaunix.com www.redhhat.com
⑻ yum 安装的httpd 怎么增加编译参数
Apache HTTPD在Linux上的安装与配置。
下载httpd-2.2.6.tar.bz2 把httpd-2.2.6.tar.bz2放到/soft 下
[root@localhost ~]#cd /soft
[root@localhost soft]#tar jxvf httpd-2.2.6.tar.bz2 //解压apache的压缩包
[root@localhost soft]#cd httpd-2.2.6 //定位到httpd-2.2.6 文件夹下
[root@localhost httpd-2.2.6]#ls //查看显示httpd-2.2.6 文件夹下内容
[root@localhost httpd-2.2.6]#./configure --help | more //查看安装apache配置参数
[root@localhost httpd-2.2.6]#./configure --prefix=/usr/local/apache --enable-so // 配置apache路径
[root@localhost httpd-2.2.6]#make //编译apache
[root@localhost httpd-2.2.6]#make install //安装apache
[root@localhost httpd-2.2.6]#cd /usr/local/apache //进入apache的目录
[root@localhost apache]# cd conf/
[root@localhost conf]#cp -a httpd.conf httpd.conf- //备份apache配置文件
[root@localhost conf]#chkconfig --list httpd //查看httpd服务是否已存在
[root@localhost conf]#chkconfig httpd off //关闭系统自带了httpd的服务,如果存在httpd服务
[root@localhost conf]#service httpd status //查看自带httpd服务状态
[root@localhost conf]#/usr/local/apache/bin/apachectl -k start //linux启动apache命令
[root@localhost conf]#netstat -an | grep :80 //查看linux80端口是否开启
[root@localhost conf]#ps -aux | grep httpd //linux下查看apache进程
[root@localhost conf]#cd ../..
[root@localhost local]#cp /usr/local/apache/bin/apachectl /etc/rc.d/init.d/apache //拷贝apache启动脚本
[root@localhost local]#vi /etc/rc.d/init.d/apache // 这里是编辑apache启动脚本
在开头的#!/bin/sh 下面加上#chkconfig: 2345 85 15
[root@localhost local]#chkconfig --add apache //添加apache服务
[root@localhost local]#chkconfig --list apache //列出apache服务
[root@localhost local]#service apache stop //停止apache服务
[root@localhost local]#netstat -an | grep :80 //查看linux的80端口是否关闭
[root@localhost local]#ps -aux | grep httpd //查看是否存在httpd服务,若果之前自带httpd服务启动的话会导致新添加的apache服务启动失败
[root@localhost local]#service apache start //启动apache服务
打开你的服务器ip地址,就会出现tomcat的默认首页,如果出现的话,那么linux下安装apache已经成功了。
⑼ linux开机启动会依次加载哪些脚本
1、相关基础知识点
1)redhat的启动方式和执行次序是:
加载内核
执行init程序
/etc/rc.d/rc.sysinit # 由init执行的第一个脚本
/etc/rc.d/rc $RUNLEVEL # $RUNLEVEL为缺省的运行模式
/etc/rc.d/rc.local #相应级别服务启动之后、在执行该文件(其实也可以把需要执行的命令写到该文件中)
/sbin/mingetty # 等待用户登录
在Redhat中,/etc/rc.d/rc.sysinit主要做在各个运行模式中相同的初始化工作,包括:
调入keymap以及系统字体
启动swapping
设置主机名
设置NIS域名
检查(fsck)并mount文件系统
打开quota
装载声卡模块
设置系统时钟
等等。
/etc/rc.d/rc则根据其参数指定的运行模式(运行级别,你在inittab文件中可以设置)来执行相应目录下的脚本。凡是以Kxx开头的,都以stop为参数来调用;凡是以Sxx开头的,都以start为参数来调用。调用的顺序按xx从小到大来执行。(其中xx是数字、表示的是启动顺序)例如,假设缺省的运行模式是3,/etc/rc.d/rc就会按上述方式调用 /etc/rc.d/rc3.d/下的脚本。
值得一提的是,Redhat中的运行模式2、3、5都把/etc/rc.d/rc.local做为初始化脚本中的最后一个,所以用户可以自己在这个文件中添加一些需要在其他初始化工作之后,登录之前执行的命令。
init在等待/etc/rc.d/rc执行完毕之后(因为在/etc/inittab中/etc/rc.d/rc的
action是wait),将在指定的各个虚拟终端上运行/sbin/mingetty,等待用户的登录。
至此,LINUX的启动结束。
2、init运行级别及指令
一、什么是INIT:
init是Linux系统操作中不可缺少的程序之一。
所谓的init进程,它是一个由内核启动的用户级进程。
内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。所以,init始终是第一个进程(其进程编号始终为1)。
内核会在过去曾使用过init的几个地方查找它,它的正确位置(对Linux系统来说)是/sbin/init。如果内核找不到init,它就会试着运行/bin/sh,如果运行失败,系统的启动也会失败。
二、运行级别
那么,到底什么是运行级呢?
简单的说,运行级就是操作系统当前正在运行的功能级别。这个级别从1到6 ,具有不同的功能。
不同的运行级定义如下
# 0 - 停机(千万不能把initdefault 设置为0 )
# 1 - 单用户模式 # s init s = init 1
# 2 - 多用户,没有 NFS
# 3 - 完全多用户模式(标准的运行级)
# 4 - 没有用到
# 5 - X11 多用户图形模式(xwindow)
# 6 - 重新启动 (千万不要把initdefault 设置为6 )
这些级别在/etc/inittab 文件里指定。这个文件是init 程序寻找的主要文件,最先运行的服务是放在/etc/rc.d 目录下的文件。在大多数的Linux 发行版本中,启动脚本都是位于 /etc/rc.d/init.d中的。这些脚本被用ln 命令连接到 /etc/rc.d/rcn.d 目录。(这里的n 就是运行级0-6)
3):chkconfig 命令(redhat 操作系统下)
不像DOS 或者 Windows,Linux 可以有多种运行级。常见的就是多用户的2,3,4,5 ,很多人知道 5 是运行 X-Windows 的级别,而 0 就
是关机了。运行级的改变可以通过 init 命令来切换。例如,假设你要维护系统进入单用户状态,那么,可以使用 init 1 来切换。在 Linux 的运行级的切换过程中,系统会自动寻找对应运行级的目录/etc/rc[0-6].d下的K 和 S 开头的文件,按后面的数字顺序,执行这
些脚本。对这些脚本的维护,是很繁琐的一件事情,Linux 提供了chkconfig 命令用来更新和查询不同运行级上的系统服务。
语法为:
chkconfig --list [name]
chkconfig --add name
chkconfig --del name
chkconfig [--level levels] name
chkconfig [--level levels] name
chkconfig 有五项功能:添加服务,删除服务,列表服务,改变启动信息以及检查特定服务的启动状态。
chkconfig 没有参数运行时,显示用法。如果加上服务名,那么就检查这个服务是否在当前运行级启动。如果是,返回 true,否则返回false。 --level 选项可以指定要查看的运行级而不一定是当前运行级。
如果在服务名后面指定了on,off 或者 reset,那么 chkconfig 会改变指定服务的启动信息。on 和 off 分别指服务在改变运行级时的启动和停止。reset 指初始化服务信息,无论有问题的初始化脚本指定了什么。
对于 on 和 off 开关,系统默认只对运行级 3,4, 5有效,但是 reset 可以对所有运行级有效。指定 --level 选项时,可以选择特定的运行级。
需要说明的是,对于每个运行级,只能有一个启动脚本或者停止脚本。当切换运行级时,init 不会重新启动已经启动的服务,也不会再次去停止已经停止的服务。
选项介绍:
--level levels
指定运行级,由数字 0 到 7 构成的字符串,如:
--level 35 表示指定运行级3 和5。
要在运行级别3、4、5中停运 nfs 服务,使用下面的命令:chkconfig --level 345 nfs off
--add name
这个选项增加一项新的服务,chkconfig 确保每个运行级有一项启动(S) 或者 杀死(K) 入口。如有缺少,则会从缺省的init 脚本自动
建立。
--del name
用来删除服务,并把相关符号连接从 /etc/rc[0-6].d 删除。
--list name
列表,如果指定了name 那么只是显示指定的服务名,否则,列出全部服务在不同运行级的状态。
运行级文件
每个被chkconfig 管理的服务需要在对应的init.d 下的脚本加上两行或者更多行的注释。
第一行告诉 chkconfig 缺省启动的运行级以及启动和停止的优先级。如果某服务缺省不在任何运行级启动,那么使用 - 代替运行级。
第二行对服务进行描述,可以用 跨行注释。
例如,random.init 包含三行:
# chkconfig: 2345 20 80
# description: Saves and restores system entropy pool for
# higher quality random number generation.
表明 random 脚本应该在运行级 2, 3, 4, 5 启动,启动优先权为20,停止优先权为 80。
好了,介绍就到这里了,去看看自己目录下的/etc/rc.d/init.d 下的脚本吧。
设置自启动服务:chkconfig --level 345 nfs on
2. 实例介绍:
1、在linux下安装了apache 服务(通过下载二进制文件经济编译安装、而非rpm包)、apache 服务启动命令: /server/apache/bin/apachectl start 。让apache服务运行在运行级别3下面。
命令如下:
1)touch /etc/rc.d/init.d/apache
vi /etc/rc.d/init.d/apache
chown -R root /etc/rc.d/init.d/apache
chmod 700 /etc/rc.d/init.d/apache
ln -s /etc/rc.d/init.d/apache /etc/rc.d/rc3.d/S60apache #S 是start的简写、代表启动、K是kill的简写、代表关闭。60数字
代表启动的顺序。(对于iptv系统而言、许多服务都是建立在数据库启动的前提下才能够正常启动的、可以通过该数字就行调整脚本的启动顺序))
apache的内容:
#!/bin/bash
#Start httpd service
/server/apache/bin/apachectl start
至此 apache服务就可以在运行级别3下 随机自动启动了。(可以结合chkconfig 对启动服务进行相应的调整)。
由于相关变量定义不同, 所以以下启动顺序仅供参考
在Redhat Redflag centos fc linux系统里面脚本的启动
先后:
第一步:通过/boot/vm进行启动 vmlinuz
第二步:init /etc/inittab
第三步:启动相应的脚本,并且打开终端
rc.sysinit
rc.d(里面的脚本)
rc.local
第四步:启动login登录界面 login
第五步:在用户登录的时候执行sh脚本的顺序:每次登录的时候都会完全执行的
/etc/profile.d/file
/etc/profile
/etc/bashrc
/root/.bashrc
/root/.bash_profile
编者注:
Ntsysv命令也可以实现根据不同运行级别启动不同的服务,但是一定要注意,使用ntsysv命令,默认采用图形的方式管理服务的启动,但是在这种情况下设置的服务,只对当前的运行级别有效果!因此,建议最好还是使用 chkconfig 来进行服务的管理。
⑽ apache 都支持什么脚本语言
apache一款WEB服务器软件,支持除server脚本(asp,php,jsp,ado)以外的web技术(如HTML)。因为server脚本运行需要编译,所以需要安装相关编译软件就可以支持server脚本。理论上。
实际上人们编程用的组合为:
(1)apache+php+mysql
(2)iis+asp+sqlserver
(3)mysql+tomcat+myeclipse