zoukankan      html  css  js  c++  java
  • Debian安装Apache2+MySQL5+PHP5(zz)

    转载:http://hi.baidu.com/lostdays/item/1d5e7e4833b4d20fc116134b

    终于在Debian用apt-get安装好LAMP了,之前在CentOS使用编译安装,速度比现在快,但内存使用怎么都优化不下来,又没时间深入研究。。。使用yum安装后更头疼,别的都可以,phpmyadmin居然不能连接数据库。。。试了N种方法都不行,最终只能放弃。装回Debian了- -

     

    记录下自己的安装过程,以备后用~

    1,更新Debian:

    apt-get update

    apt-get updgrade

    2,安装Apache2:

    由于内存只有360M,得省着用,所以选择了prefork模式安装:

    apt-get install apache2-mpm-prefork

    3,安装mysql

    apt-get install mysql-server-5.0 mysql-common mysql-client

    4,安装php相关组件,并整合mysql

    apt-get install php5-common php5-mysql php5-cgi php5-gd php5-mcrypt libapache2-mod-php5 php5-memcache php5-imagick php5-suhosin php5-xmlrpc

    如果需要,可以如下安装

    apt-get install php5-common php-pear php5-curl php5-dev php5-gd php5-idn php5-imap php5-mhash php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xsl

    注:
    如果要删除某个包,可以用以下命令

    apt-get remove

    比如删除php-cgi

    apt-get remove php-cgi

    如果不知道有哪些安装包,可以用如下命令:

    apt-cache search

    比如:

    apt-cache search apache2

    5,设置Mysql账户、密码,及优化:

    mysqladmin -u root password ''   //在引号中输入密码

    登陆MySQL数据库

    mysql -u root -p

    修改原始账户(mysql)

    mysql>use mysql;
    mysql>update user set user="自己设定用户名" where user="root"; (将mysql的root用户名修改成centos,防止root的密码被暴力破解)
    mysql>select Host,User,Password,Select_priv,Grant_priv from user;
    mysql>delete from user where user=''; (删除user用户)
    mysql>delete from user where password=''; (删除user用户)
    mysql>delete from user where host=''; (删除user用户)
    mysql>drop database test; (删除默认的test数据库)
    mysql>flush privileges; (刷新mysql的缓存,让以上设置立即生效)
    mysql>quit;

    修改MySQL的配置文件在/etc/mysql/my.cnf

    找到 #skip-innodb 去掉注释

    重新载入Mysql

    /etc/init.d/mysql reload

    或者重启Mysql

    /etc/init.d/mysql restart

    6,设置php

    修改文件:/etc/php5/apache2/php.ini

    找到以下数值,修改为自己需要的数值

    memory_limit
    post_max_size
    upload_max_filesize

    关闭以下功能 Off

    enable_dl
    display_errors

    7,Apache优化及设置:
    修改 /etc/apache2/apache2.conf文件

    Timeout 300

    改为

    Timeout 60

    KeepAliveTimeout 15

    改为

    KeepAliveTimeout 5

    StartServers 5
    MinSpareServers 5
    MaxSpareServers 10
    MaxClients 150
    MaxRequestsPerChild 0

    改为

    StartServers 3
    MinSpareServers 5
    MaxSpareServers 10
    MaxClients 50
    MaxRequestsPerChild 2000

    找到 AddType application/x-gzip .gz .tgz 在其下添加如下内容

    AddType application/x-httpd-php .php
    AddType application/x-httpd-php-source .phps

    保存退出,并重启apache

    /etc/init.d/apache2 reload

    /etc/init.d/apache2 restart

    激活deflate模块(用于页面压缩),在SSH界面输入:

    a2enmod deflate

    让apache2得进程加载新配置的模块

    /etc/init.d/apache2 force-reload

    再修改 /etc/apache2/apache2.conf文件,在最后加入

    在文件之后加入:

    DeflateCompressionLevel 6
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/x-httpd-php
    AddOutputFilter DEFLATE css js

    激活mod rewrite(用于伪静态连接地址),在SSH界面输入:

    a2enmod rewrite

    让apache2得进程加载新配置的模块

    /etc/init.d/apache2 force-reload

    再修改 /etc/apache2/apache2.conf文件,在最后加入:

    RewriteEngine On
    #RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]

    网上有人这么设置的,不过很多时候,网站多了很不好控制,都已我没有在apache2.conf添加这最后一段。

    重新载入apache

    /etc/init.d/apache2 reload

    或重启apache

    /etc/init.d/apache2 restart

    8,在Debian Apache5下设置多域名:

    设置/etc/apache2/sites-available/default,将ServerAdmin改为你自己的邮箱,并在之前添加一段,作为你的空间根目录域名:

    ServerName xxx.com

    将/var/www/目录全部修改为 /home/www/

    在SSH界面输入:

    chmod 755 -R /home/www     //设置网站根目录权限

    ls -lh //查看文件夹属主

    cd /home/www/

    chown -R www-data:www-data /home/www/

    做好这些后,保存并退出default。

    在/home/www/建立新文件夹“1”;然后在当前目录“/sites-available/”新建一个文件,假设文件名为1,打开文件1,输入以下内容:

    <VirtualHost *>

    ServerName xxx.com       //此处输入域名

    ServerAdmin

    DocumentRoot "/home/www/1/"       //网站目录

    <Directory />                               //这段添加后,可直接支持.htaccess

    Options FollowSymLinks

    AllowOverride All

    </Directory>

    ErrorLog "/var/log/apache2/1-error.log"

    CustomLog "/var/log/apache2/1-access.log" common

    </VirtualHost>

    保存该文件,然后在SSH界面下输入:

    a2ensite 1

    这时,设定的网站域名已经被绑定了,在/etc/apache2/sites-enabled/文件夹会有一个1的快捷链接。重启一下Apache后,就可以操作该网站了:

    /etc/init.d/apache2 restart

    现在就可以用浏览器登陆你的域名了~

    分开设定确实麻烦了点,但好处还是很大的,比如我要单独维护网站1,只需要输入以下命令:

    a2dissite silent

    然后重启一遍即可

    /etc/init.d/apache2 restart

    其他网站还是会正常运作,不会受到牵连~

    9,安装phpmyadmin:

    由于debian的php版本是5.2的,所以可以使用phpmyadmin3.1,也省去了不少麻烦,不用apt-get安装,直接如下操作即可:

    cd /usr/local/src
    wget http://ncu.dl.sourceforge.net/sourceforge/phpmyadmin/phpMyAdmin-3.2.0-all-languages.tar.gz
    tar zxvf phpMyAdmin-3.2.0-all-languages.tar.gz
    cp -rf phpMyAdmin-3.2.0-all-languages /home/www/phpmyadmin

    10,安装sendmail:

    很多人说sendmail不好,不过我不是要邮件服务器,只不过需要一些邮件发送支持罢了,sendmail对我是足够了~

    apt-get install sendmail

    11,安装 Zend Optimizer

    cd /usr/local/src
    wget http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
    tar xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
    ./ZendOptimizer-3.3.3-linux-glibc23-i386/install.sh

    按照它的提示一步步进行就行了。

    总之一句话。如果你的服务器环境不需要ZendOptimizer,那么能不安就不安装这个。避免和eaccelerator冲突。

  • 相关阅读:
    【网易官方】极客战记(codecombat)攻略-森林-加农炮之舞forest-cannon-dancing
    【网易官方】极客战记(codecombat)攻略-森林-森林慢跑forest-jogging
    https://developer.android.com/codelabs/java-to-kotlin
    今日英语
    架构师技能图谱
    java接口防重提交如何处理
    看看人家那后端API接口写得,那叫一个优雅!
    MySQL不推荐使用uuid或者雪花id作为主键
    “12306”是如何支撑百万QPS的?
    阿里巴巴为什么能抗住90秒100亿?看完这篇你就明白了!
  • 原文地址:https://www.cnblogs.com/pengdonglin137/p/3524673.html
Copyright © 2011-2022 走看看