zoukankan      html  css  js  c++  java
  • Linux安装LAMP环境各种问题

    1.  查看linux下是否已经搭建lamp环境

    使用的yum安装,它可以帮助我们解决软件自己的依赖关系.我还在后面加了postgresql数据库如果不需要的话可以去掉和postgresql的参数.命令如下

    yum -y install httpd mysql mysql-server php php-mysql postgresql postgresql-server php-postgresql php-pgsql php-devel

    启动apache服务并查看时候启动成功
    命令如下:(切记用root用户启动服务)
    启动:/etc/rc.d/init.d/httpd start
    检测启动结果:ps aux | grep httpd

    查看服务器的ip并进入网站根目录新建一个phpinfo.php的程序,用于查看php相关配置信息。

    如果上述进展顺利,那我们接下来进行mysql数据库的配置
    命令如下:

    启动: /etc/rc.d/init.d/mysqld start
    检查启动结果: netstat -tulnp | grep :3306
    修改root密码: mysqladmin -u root password ‘你想设置的密码’

    进入mysql数据库,创建demo库和用于测试的person表,并插入测试数据

    最后编写php连接mysql的测试代码,检测mysql是否能正常配合php工作

    Linux下apache/httpd服务启动与停止

    apache服务,或者说httpd服务,如何启动,如何开机启动。

    转来转去,找不到原文..

    操作系统环境:红帽5,具体如下:
    # uname -a 
    Linux machine1 2.6.18-164.el5xen #1 SMP Tue Aug 18 15:59:52 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
    # cat /etc/redhat-release 
    Red Hat Enterprise Linux Server release 5.4 (Tikanga)

    查看apache/httpd,版本:
    # /usr/sbin/httpd -v 
    Server version: Apache/2.2.3
    Server built:   Jul 15 2009 09:02:25
    或者
    # /usr/sbin/apachectl -v 
    Server version: Apache/2.2.3
    Server built:   Jul 15 2009 09:02:25

    之前一直在说apache,或者httpd;
    其实httpd是服务,apache是个类似快捷方式;

    但是因为apache太有名,似乎说apache,就是在说httpd服务了。
    因此,后文只说httpd服务。


    /usr/sbin/apachectl其实是个脚本;
    /usr/sbin/httpd 才是真正的程序;

    下面回答如何启动httpd服务?
    脚本启动:
    # /usr/sbin/apachectl start 
    [root@radius guoq]# ps -ef|grep apache
    apache    6680  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
    apache    6681  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
    apache    6682  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
    apache    6683  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
    apache    6684  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
    apache    6685  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
    apache    6686  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
    apache    6687  6679  0 09:49 ?        00:00:00 /usr/sbin/httpd -k start
    root      6689  5393  0 09:49 pts/1    00:00:00 grep apache
    停止就是# /usr/sbin/apachectl stop;

    如果读一下脚本/usr/sbin/apachectl, 就会发现两个小秘密: 
    1. 脚本接受参数 start,stop,restart,还有 graceful,graceful-stop;
    2. 其实,脚本还是把参数传递给了 /usr/sbin/httpd;

    因此,我们可以 
    #/usr/sbin/httpd -k start
    启动服务; 
    #/usr/sbin/httpd -k stop
    停止服务;

    下面回答如何开机启动?
    如果搜索一下
    # find / -name "httpd" 
    /var/log/httpd
    /usr/sbin/httpd
    /usr/lib64/httpd
    /etc/rc.d/init.d/httpd 
    /etc/logrotate.d/httpd
    /etc/httpd
    /etc/sysconfig/httpd
    /home/guoq/osrc/tcl8.4.19/tests/httpd
    /opt/soft/httpd-2.2.14/httpd
    /opt/soft/httpd-2.2.14/.libs/httpd
    /opt/apache2.2.14/bin/httpd

    我们会发现apache已经给我们准备好了开机启动脚本,
    /etc/rc.d/init.d/httpd

    可以检查它是否在开机启动列表: 
    # chkconfig --list | grep httpd
    httpd           0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭

    如果需要,可以将它加入开机启动列表: 
    #chkconfig --add httpd
    或者,从开机列表中删除: 
    #chkconfig --del httpd 

    在我的系统中,它已经在开机启动列表: 
    httpd           0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:关闭  6:关闭 
    只是它没有被允许开机自动启动

    我希望它在当前的运行级别下,自动启动,我最近在学点PHP;
    # chkconfig --level 5 httpd on 
    # chkconfig --list httpd
    httpd           0:关闭  1:关闭  2:关闭  3:关闭  4:关闭  5:启用   6:关闭

    wait,我怎么知道我的运行级别?
    # runlevel 
    N 5

    全文完。
     
     
    不知为什么上面的方法,于是到网上再找找了,找到下面的方法:

       1)添加程序脚本到/etc/init.d目录下 
          sudo  cp /home/cnscn/my_servd  /etc/init.d/
      
       2)添加到启动列表 
          sudo   update-rc.d  my_servd  defaults

      3) 就会产生以下连接: 
           Adding system startup for /etc/init.d/my_servd ...
           /etc/rc0.d/K20my_servd -> ../init.d/my_servd
           /etc/rc1.d/K20my_servd -> ../init.d/my_servd
           /etc/rc6.d/K20my_servd -> ../init.d/my_servd
           /etc/rc2.d/S20my_servd -> ../init.d/my_servd
           /etc/rc3.d/S20my_servd -> ../init.d/my_servd
           /etc/rc4.d/S20my_servd -> ../init.d/my_servd
           /etc/rc5.d/S20my_servd -> ../init.d/my_servd

       4) 指定启动、关闭级别 (20表示一个级别) (注意后面的 . ) 
                sudo update-rc.d  my_servd  start  20   3  4  5  .      在3,4,5级别上启动
                sudo update-rc.d  my_servd  start  20   0 1 2 6 .      在3,4,5级别上关闭
          
          或
                sudo update-rc.d my_servd  start 20 3 4 5 .   stop 20 0 1 2 6 . 

       5) 移除服务 
          sudo update-rc.d  -f  my_servd  remove

    如何查看linux是否安装php环境?

    1、首先可以利用find / -name php.ini 查找一下,系统是否有php的配置文件2、利用netstat -ntpl 查看9000端口是否在运行3、如果9000端口存在,可以使用lsof -i:9000查看文件位置4、另外,如果系统已经安装了php,你还可以用php -v 查看版本号,前提是设置环境变量

     

    apache:

    如果采用RPM包安装,安装路径应在 /etc/httpd目录下

    apache配置文件:/etc/httpd/conf/httpd.conf

    Apache模块路径:/usr/sbin/apachectl 

    web目录:/var/www/html 

    如果采用源代码安装,一般默认安装在/usr/local/apache2目录下

    php:

    如果采用RPM包安装,安装路径应在 /etc/目录下 

    php的配置文件:/etc/php.ini

    如果采用源代码安装,一般默认安装在/usr/local/lib目录下

    php配置文件: /usr/local/lib/php.ini

    或/usr/local/php/etc/php.ini

    mysql: 

    如果采用RPM包安装,安装路径应在/usr/share/mysql目录下

    mysqldump文件位置:/usr/bin/mysqldump

    mysqli配置文件:

    /etc/my.cnf或/usr/share/mysql/my.cnf

    mysql数据目录在/var/lib/mysql目录下

    如果采用源代码安装,一般默认安装在/usr/local/mysql目录下

    Centos6.5 下搭建LAMP环境

    安装apache服务

    Step1:使用yum安装apache

    Sudo yum install httpd -y

    PS:采用该方法进行安装 apache的配置文件的默认路径为:/etc/httpd/conf/httpd.conf

    Step2:配置防火墙(开启80端口)

    Sudo vim /etc/sysconfig/iptables (防火墙为iptables用此方法 )

    PS:如果防火墙为Firewall 请参考: http://www.cnblogs.com/yoke/p/7236293.html

    复制代码
     1 -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
     2 
     3  -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT
     4 
     5 -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
     6 
     7 -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT   //添加
     8 
     9  -A INPUT -j REJECT --reject-with icmp-host-prohibited
    10 
    11 -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    复制代码

    Step3:配置完防火墙之后需要重新启动防火墙

    Sudo service iptables restart

    复制代码
    1  
    2 
    3 iptables: Setting chains to policy ACCEPT: filter [ OK ] 
    4 iptables: Flushing firewall rules: [ OK ] 
    5 iptables: Unloading modules: [ OK ] 
    6 iptables: Applying firewall rules: [ OK ]
    7  
    复制代码

    step4:apache配置完成之后,则可启动服务

    sudo service httpd start

    1 Starting httpd: httpd: apr_sockaddr_info_get() failed for sd
    2 httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
    3  [ OK ]
    4  

    Ps:虽然这里可以启动但是报错,这是因为没有在Apache服务器的配置文件中添加ServerName参数,所以我们要在配置文件中配置这个参数

    Step5:查看hostname主机名,并将该主机添加到apache配置文件的ServerName参数

     [tong@tong /]$ hostname 
    tong 
    [tong@tong /]$ cat /etc/sysconfig/network 
    NETWORKING=yes 
    HOSTNAME=tong

    由上述的hostname为tong,则编辑Apache配置文件

    [tong@tong conf]$ sudo vi /etc/httpd/conf/httpd.conf

    在其中加入一行:ServerName tong:80

    Step6:重新启动Apache服务,则不会报错

    [tong@tong conf]$ sudo service httpd restart 
    Stopping httpd: [ OK ] 
    Starting httpd: [ OK ]

    配置完成之后在本机浏览器中键入127.0.0.1(非本机测试键入IP)

    出现一下页面则说明apache搭建完成

    安装MySQL(5.7)服务

    step1:检测系统是否自带安装mysql

    yum list installed | grep mysql

    如果有自带的mysql进行step2

    step2:删除系统自带的mysql及其依赖命令

    yum -y remove 包全名(将自带的包全部删除)

    step3:安装mysql服务器命令

    yum -y install mysql-server (或者mysql-community-server)

    step4:启动mysql命令

    service mysqld start

    step5:查看mysql是否开机自启,并且设置开机自启

    chkconfig --list |grep mysqld

    chkconfig mysqld on

    step6:mysql安全设置命令

    mysql_secure_installation

    如果是新安装的mysql还没有设置密码 Enter current…之后直接回车(设置密码)

     

     

    之后一路绿灯

     

     至此mysql环境已经搭建完成

    安装PHP服务

    Centos 6.默认下没有安装php组件,因此我们需要输入命令:yum -y install php

    程序会自动完成安装及配置。

    前期工作准备完成之后,对apache进行配置

    输入命令:vi /etc/httpd/conf/httpd.conf //打开Apache配置文件

    找到ServerTokens OS 将“OS”改为“Prod “ 。//显示服务器运行错误信息。

    启动http,  /etc/rc.d/init.d/httpd start

    输入命令:vi /var/www/html/

    在html文件夹下创建info.php文件

    输入信息:<?php 

    phpinfo(); 

    ?>

    保存退出。

    然后通过你的浏览器输入:127.0.0.1/info.php 如出现下图界面,恭喜你php运行环境你配置成功啦。

    最后是验证安装

    终端命令:PHP -v,显示当前PHP版本。
    [root@root /]# php -v 

    PS:如果之前已经安装过其他版本的php,想要删除的话,用下面的方法删除再安装php7

    查看php版本命令:
    #php -v 
    如果用#yum remove php这个命令删除php的安装包是删不干净的。使用这个命令以后再用
    #php -v
    还是会看到有版本信息。。。。。所以必须强制删除

    先用这个命令
    #rpm -qa|grep php 
    查看系统上所有的php的安装包
    提示如下
    #php-pdo-5.1.6-27.el5_5.3
    #php-mysql-5.1.6-27.el5_5.3
    #php-xml-5.1.6-27.el5_5.3
    #php-cli-5.1.6-27.el5_5.3
    #php-common-5.1.6-27.el5_5.3
    #php-gd-5.1.6-27.el5_5.3

    注意卸载要先卸载没有依赖的
    pdo是mysql的依赖项;common是gd的依赖项;
    例如:# rpm -e php-pdo-5.1.6-27.el5_5.3
    error: Failed dependencies:
    php-pdo is needed by (installed) php-mysql-5.1.6-27.el5_5.3.i386

    所以正确的卸载顺序是:
    # rpm -e php-mysql-5.1.6-27.el5_5.3 
    # rpm -e php-pdo-5.1.6-27.el5_5.3 
    # rpm -e php-xml-5.1.6-27.el5_5.3 
    # rpm -e php-cli-5.1.6-27.el5_5.3 
    # rpm -e php-gd-5.1.6-27.el5_5.3 
    # rpm -e php-common-5.1.6-27.el5_5.3

    再用# php -v

    查看版本信息已经没有提示

    至此完整的LAMP环境已经搭建完成了,如果大家还有什么问题。  Please contact me

  • 相关阅读:
    LibreOJ2095
    Codeforces
    LibreOJ2241
    LibreOJ2044
    LibreOJ2043
    LibreOJ2045
    LibreOJ2042
    LibreOJ2097
    洛谷P4175
    POJ2888
  • 原文地址:https://www.cnblogs.com/xiaoyu666/p/9685600.html
Copyright © 2011-2022 走看看