zoukankan      html  css  js  c++  java
  • 图文详解linux如何搭建lamp服务环境

    企业网站建设必然离不开服务器运维,一个稳定高效的服务器环境是保证网站正常运行的重要前提。本文小编将会详细讲解Linux系统上如何搭建配置高效的lamp服务环境,并在lamp环境中搭建起企业自己的网站。

    先简要概述下本文要点:(操作系统采用CentOS 6.5 x64)

    1.分别安装搭建lamp服务环境;

    2.采用lamp一键安装包搭建环境;

    3.在lamp环境中初步搭建起一个网站;

    一、             分别安装搭建lamp服务环境

    准备工作:

    1、配置防火墙,开启80端口、3306端口
    vi /etc/sysconfig/iptables
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT #允许80端口通过防火墙
    -A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT #允许3306端口通过防火墙

    将以上内容添加到 -A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT 的下面

    /etc/init.d/iptables restart #最后重启防火墙使配置生效

    2、关闭SELINUX
    vi /etc/selinux/config
    #SELINUX=enforcing #注释掉
    #SELINUXTYPE=targeted #注释掉
    SELINUX=disabled #增加
    :wq #保存,关闭
    shutdown -r now #重启系统

    安装:

    1、安装Apache

    卸载自带httpd: yum remove httpd
    yum install httpd #根据提示,输入Y安装即可成功安装
    /etc/init.d/httpd start #启动Apache

    备注:Apache启动之后会提示错误:
    正在启动 httpd:httpd: Could not reliably determine the server’s fully qualif domain name, using ::1 for ServerName
    解决办法:
    vi /etc/httpd/conf/httpd.conf #编辑
    找到 #ServerName www.example.com:80
    修改为 ServerName www.osyunwei.com:80 #这里设置为你自己的域名,如果没有域名,可以设置为localhost
    :wq! #保存退出
    chkconfig httpd on #设为开机启动
    /etc/init.d/httpd restart #重启Apache

    2、安装MySQL

    先卸载自带mysql:

    yum remove mysql mysql-server mysql-libs compat-mysql51
    rm -rf /var/lib/mysql
    rm /etc/my.cnf

    安装:

    yum install mysql mysql-server #询问是否要安装,输入Y即可自动安装,直到安装完成
    /etc/init.d/mysqld start #启动MySQL
    chkconfig mysqld on #设为开机启动
    cp /usr/share/mysql/my-medium.cnf /etc/my.cnf #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)

    为root账户设置密码:
    mysql_secure_installation
    回车,根据提示输入Y
    输入2次密码,回车
    根据提示一路输入Y
    最后出现:Thanks for using MySQL!
    MySql密码设置完成,重新启动 MySQL:
    /etc/init.d/mysqld restart #重启
    /etc/init.d/mysqld stop #停止
    /etc/init.d/mysqld start #启动

    3、安装PHP5
    yum install php
    根据提示输入Y直到安装完成

    安装PHP组件,使 PHP5 支持 MySQL
    yum install php-mysql php-gd libjpeg* php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-mcrypt php-bcmath php-mhash libmcrypt
    这里选择以上安装包进行安装
    根据提示输入Y回车
    /etc/init.d/mysqld restart #重启MySql
    /etc/init.d/httpd restart #重启Apche

    相关配置:

    1、Apache配置
    vi /etc/httpd/conf/httpd.conf #编辑文件
    ServerTokens OS 在44行 修改为:ServerTokens Prod (在出现错误页的时候不显示服务器操作系统的名称)
    ServerSignature On 在536行 修改为:ServerSignature Off (在错误页中不显示Apache的版本)
    Options Indexes FollowSymLinks 在331行 修改为:Options i n c l u d es e x e cCGI FollowSymLinks(允许服务器执行CGI及SSI,禁止列出目录)
    #AddHandler cgi-script .cgi 在796行 修改为:AddHandler cgi-script .cgi .pl (允许扩展名为.pl的CGI脚本运行)
    AllowOverride None 在338行 修改为:AllowOverride All (允许.htaccess)
    AddDefaultCharset UTF-8 在759行 修改为:AddDefaultCharset GB2312 (添加GB2312为默认编码)
    Options Indexes MultiViews FollowSymLinks 在554行 修改为 Options MultiViews FollowSymLinks(不在浏览器上显示树状目录结构)
    DirectoryIndex index.html index.html.var 在402行 修改为:DirectoryIndex index.html index.htm Default.html Default.htm

    index.php Default.php index.html.var (设置默认首页文件,增加index.php)
    KeepAlive Off 在76行 修改为:KeepAlive On (允许程序性联机)
    MaxKeepAliveRequests 100 在83行 修改为:MaxKeepAliveRequests 1000 (增加同时连接数)
    :wq! #保存退出
    /etc/init.d/httpd restart #重启
    rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html #删除默认测试页

    2、php配置
    vi /etc/php.ini #编辑
    date.timezone = PRC #在946行 把前面的分号去掉,改为date.timezone = PRC

    disable_functions = p a s s t h r u,e x e c,s y s t e m,chroot,scandir,chgrp,chown,shell_e x e c, p r o c _ o p e n,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,pope p a s s t h r u,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,

    getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

    #在386行 列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。
    expose_php = Off #在432行 禁止显示php版本的信息
    magic_quotes_gpc = On #在745行 打开magic_quotes_gpc来防止SQL注入
    short_open_tag = ON #在229行支持php短标签
    open_basedir = .:/tmp/ #在380行 设置表示允许访问当前目录(即PHP脚本文件所在之目录)和/tmp/目录,可以防止php木马跨站,如果改了之后安装程序有问题(例如:织梦内容管理系 统),可以注销此行,或者直接写上程序的目录/data/www.osyunwei.com/:/tmp/
    :wq! #保存退出
    /etc/init.d/mysqld restart #重启MySql
    /etc/init.d/httpd restart #重启Apche

    测试:
    cd /var/www/html
    vi index.php #输入下面内容
    <?php
    phpinfo();
    ?>
    :wq! #保存退出
    在客户端浏览器输入服务器IP地址,可以看到如下图所示相关的配置信息!

    其他:

    后续安装PDO_MySQL拓展模块,只需要: yum install php-mysql

    手动安装会出现错误(configure: error: mysql_query missing!?)

    二、采用lamp一键安装包搭建环境

    很多朋友可能认为分别安装Apache、mydql、php很麻烦,还需要手动配置。所以接下来小编带领大家了解下如何用lamp一键安装包搭建服务环境。

    部署LNMP/LAMP/LNMPA一键包

    1、脚本下载解压和执行安装

        wget http://mirrors.linuxeye.com/lnmp-full.tar.gz

        tar xzf lnmp-full.tar.gz

        cd lnmp

    ./install.sh

    2、安装过程的项目选择

    因为这个脚本的特点不是从开始就无人值守的,需要根据我们的环境进行选择各种版本,所以选择的过程比较复杂,我们要看清楚,在这个过程中我们安装LAMP环境。

    (1)、升级系统和端口、WEB服务器安装设置


    开始过程我们看到上图,官方建议不更新系统,那我们就不更新。我们可以直接在安装脚本过程中直接修改ROOT端口,这个非常不错,要不我们在服务器安全事项处理的时候也需要修改端口,不要用默认的22。WEB服务器的安装,因为我们要安装LAMP环境,所以NGINX不安装,APACHE安装自己希望的版本,我这里安装2.4。

    (2)、数据库版本和PHP版本选择安装


    这里我们还要选择数据库和PHP版本的安装。

    (3)、其他相关服务器组件的安装


    我们根据自己的网站环境需求环境,配置需要的组件,小编个人建议是如果有需要用到就安装,没有必要用到就不要安装。

    第三、安装完毕后一些部署工作


    设置完毕之后,然后就是自动无人值守的安装,根据系统的速度需要执行20-30分钟,总之我们就等待,等待看到上图的界面就标示安装完毕,我们可以输入y重启服务器,然后检测下是否安装完整。

    我们在服务器配置环境之后还是需要做几个工作的,最为主要的是删除默认安装的首页,在home/wwwroot/default中的首页,以及需要修改PHPMYADMIN的目录路径,原因大家都懂的,不懂也要做。

    三、在lamp环境中初步搭建起一个网站

    这里我们以主流的蝉知系统为例,直接在刚才一键安装好的LAMP环境中搭建网站。

    蝉知企业建站系统下载: www.chanzhi.org/download/chanzhi5.2-126.html/?u=xcj

    蝉知系统使用手册:http://www.chanzhi.org/book/chanzhieps.html/?u=xcj

    下载解压后,将s y s t e m文件夹移到www文件夹中,这个www文件夹就是我么一会需要上传的网站文件。

    LAMP环境添加站点:

    因为一键包不同于WEB面板,我们添加站点需要用到命令,好歹比手工部署好一些,用到下面的命令。

        cd /root/lnmp

        ./vhost.sh


    我们将www下的文件上传到网站根目录下,访问网站地址进行安装。

    启动安装程序

    访问您的域名http://domain/install.php。如果您将蝉知安装在二级目录,还需要再加上二级路径。

    检查模块和目录权限


    备注:如果模块或者目录检查不通过的话,请按照系统给出的提示进行操作以解决问题。

    配置数据库


    备注:如果之前有安装过蝉知系统,可以选中“清空现有数据”按钮进行重新安装。

    保存配置文件


    备注:系统会自动尝试保存配置文件。如果由于权限的问题,请按照提示拷贝文本框里面的配置内容,手工保存到config/my.php文件中。

    设置管理员帐号


    登录后台


    至此,我们已经成功的搭建起LAMP服务环境,并在LAMP环境中搭建起我们的网站了。如何大家还有其他疑问,欢迎评论讨论,我们共同交流,共同进步。

  • 相关阅读:
    Parameter Binding in ASP.NET Web API
    Which HTTP methods match up to which CRUD methods?
    ErrorHandling in asp.net web api
    HttpStatusCode
    Autofac Getting Started(默认的构造函数注入)
    Autofac Controlling Scope and Lifetime
    luvit 被忽视的lua 高性能框架(仿nodejs)
    undefined与null的区别
    VsCode中使用Emmet神器快速编写HTML代码
    字符串匹配---KMP算法
  • 原文地址:https://www.cnblogs.com/chanzhi/p/5455144.html
Copyright © 2011-2022 走看看