Linux + Apache + Mys

2020-01-13 11:09:52 浏览数 (1)

 一、下载apache  apr  apr-util   pcre

         APACHE:     http://www.fayea.com/apache-mirror/httpd/

                 APR:     http://www.fayea.com/apache-mirror/apr/

        APR-UTIL:   http://www.fayea.com/apache-mirror/apr/

                PCRE:   ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/

   #mkdir  /usr/local/lamp

   # cd apr-1.4.6

   # ./configure --prefix=/usr/local/lamp/apr

   # cd apr-util-1.5.1

   # ./configure --prefix=/usr/local/lamp/apr-util  --with-apr=/usr/local/lamp/apr

   # cd pcre-8.32

   # ./configure --prefix=/usr/local/lamp/pcre

   # cd  httpd-2.4.3

   # ./configure --prefix=/usr/local/lamp/apache2 --with-apr=/usr/local/lamp/apr --with-apr-util=/usr/local/lamp/apr-util --with-pcre=/usr/local/lamp/pcre

  配置虚拟主机:

  将/usr/local/lamp/apache2/conf/httpd.conf 中的Include conf/extra/httpd-vhosts.conf注释去掉

        将ServerName 改为 ServerName localhost.com:80

        # vi /etc/hosts         加入127.0.0.1 localhost.com

        # vi  /usr/local/lamp/apache2/conf/extra/httpd-vhosts.conf 

       注释掉这些自带的虚拟机

#<VirtualHost *:80>

#    ServerAdmin webmaster@dummy-host.example.com

#    DocumentRoot "/usr/local/lamp/apache2/docs/dummy-host.example.com"

#    ServerName dummy-host.example.com

#    ServerAlias www.dummy-host.example.com

#    ErrorLog "logs/dummy-host.example.com-error_log"

#    CustomLog "logs/dummy-host.example.com-access_log" common

#</VirtualHost>

#

#<VirtualHost *:80>

#    ServerAdmin webmaster@dummy-host2.example.com

#    DocumentRoot "/usr/local/lamp/apache2/docs/dummy-host2.example.com"

#    ServerName dummy-host2.example.com

#    ErrorLog "logs/dummy-host2.example.com-error_log"

#    CustomLog "logs/dummy-host2.example.com-access_log" common

#</VirtualHost>

配置我们自已的:

<VirtualHost *:80>

    ServerAdmin webmaster@dummy-host2.example.com

    DocumentRoot "/home/you/www/django"

    ServerName  django.com

    ErrorLog "/home/han/www/django/errorLog.txt"

    CustomLog "logs/dummy-host2.example.com-access_log" common

</VirtualHost>

配置httpd.conf使虚拟目录有访问权限:

<Directory "/home/you/www/django">

    Options Indexes FollowSymLinks

    AllowOverride None

    Require all granted

</Directory>

 在you(你的家目录)下建立目录www/django

 在django目录下建index.html 文档写入 “工作了"三个字

# /usr/local/lamp/apache2/bin/apachectl start

打开浏览器输入地址django.com

看到 ”工作了" 三字就成功了

配置启用CGI

#LoadModule cgid_module modules/mod_cgid.so取消注释

 ScriptAlias /cgi-bin/ "/usr/local/lamp/apache2/cgi-bin/"

<Directory "/usr/local/lamp/apache2/cgi-bin">

    AllowOverride None

    #Options None

    Options ExecCGI

    Require all granted

</Directory>

  AddHandler cgi-script .cgi

在cgi-bin目录下写test.cgi粘贴如下内容,并且保证test.cgi有执行权限

#!/usr/bin/python

# -*- coding:UTF-8 -*-

print "Content-type: text/htmln"

print "<html><head>世界,你好!</head></html>

在浏览器输入127.0.0.1/cgi-bin/test.cgi看看效果

安装PYTHON 和mod_wsgi

MOD_WSGI:  http://code.google.com/p/modwsgi/wiki/DownloadTheSoftware?tm=2

PYTHON2.7:  http://python.org/download/

#cd Python-2.7.3/

#./configure --prefix=/usr/local/lamp/python

#make & make install

# cd mod_wsgi-3.4/

[root@fedora mod_wsgi-3.4]# ./configure --with-apxs=/usr/local/lamp/apache2/bin/apxs --with-python=/usr/local/lamp/python/bin/python

[root@fedora mod_wsgi-3.4]# make & make install

配置apache使通过mod_wsgi连接能够解析python

# vi /usr/local/lamp/apache2/conf/httpd.conf 

加入LoadModule wsgi_module modules/mod_wsgi.so

WSGIScriptAlias / "/home/you/www/mysite/apache/django.wsgi"

WSGIPythonPath /home/han/www/mysite

在django.wsgi中写入:

 import os, sys

sys.path.append('/home/you/www/mysite')

os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

 安装MYSQL

./mysqld: Table 'mysql.plugin' doesn't exist

130107 15:46:43 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

FATAL ERROR: Could not find ./bin/my_print_defaults

 cmake  -DCMAKE_INSTALL_PREFIX=/usr/local/lamp/mysql -DMYSQL_DATADIR=/home/han/www/mysql/data -DMYSQL_UNIX_ADDR=/var/tmp/mysql/mysqld.sock -DDEFAULT_CHARSET=utf8 -DEXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_SPHINX_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1  -DMYSQL_USER=mysql

#chgrp -R mysql .

#scripts/mysql_install_db --user=mysql

#chown -R mysql data

# cp support-files/my-medium.cnf /etc/my.cnf

#bin/mysqld_safe --user=mysql

#cp support-files/mysql.server /etc/init.d/mysqld

#cd /usr/local/bin

[root@fedora bin]# ln -fs /usr/local/lamp/mysql/bin/mysql mysql

把mysql 添加到系统服务启动

[root@fedora init.d]# cp /usr/local/lamp/mysql/support-files/mysql.server /etc/rc.d/init.d/mysqld 

cd /etc/rc.d/init.d

chkconfig --add mysqld

5 修改启动脚本

vi /etc/init.d/mysqld

6. 启动和停止mysql

service mysqld start/stop

7.设置mysql的root密码

/usr/local/lamp/mysql/bin/mysqladmin -uroot -p passwd 'mysqlmima'

到此mysql-5.5.16 就安装完毕。记录下希望对大家有帮助。

问题:

[root@fedora scripts]# /etc/rc.d/init.d/mysqld status

MySQL is running but PID file could not be found           [FAILED]

[root@fedora scripts]# service mysqld start

Starting MySQL.The server quit without updating PID file (/home/han/www/mysql/data/fedora.pid).       [FAILED]

原来没有对表进行初始化

#cd /usr/local/lamp/mysql

#chown -R mysql .   (最后空不格有一个点)

[root@fedora mysql]# su mysql

[mysql@fedora mysql]$ scripts/mysql_install_db

[mysql@fedora mysql]$ /usr/local/lamp/mysql/bin/mysqld_safe --user=mysql &

FATAL ERROR: Could not find ./bin/my_print_defaults

回到上scripts的上一级目录就没这问题了

MySQL server PID file could not be found![FAILED]

#ps aux|grep mysq*

Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

[mysql@fedora mysql]$ ./scripts/mysql_install_db 

[mysql@fedora mysql]$ ./bin/mysqld_safe --user=mysql &

[mysql@fedora mysql]$ ./bin/mysql_upgrade 

[mysql@fedora mysql]$ ./scripts/mysql_install_db --ldata=/home/han/www/mysql/data

 unsupported storage engine: InnoDB

原因:MySQL5.5.8 GA默认引擎为InnoDB,而配置文件(my.cnf)中设置了skip-innodb 解决:在配置文件(my.cnf)中设置default-storage-engine=MyISAM

 ./mysql-bin.index' not found (Errcode: 13)

原来mysql-bin.index没有写权限  chmod 666 mysql-bin.index

mysqld: Table ‘mysql.plugin’ doesn’t exist

mysql$ mysqld –skip-grant &

./bin/mysql_upgrade -d /home/you/www/mysql/data 

  Table 'mysql.plugin' doesn't exist

130107 21:20:08 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.

 在httpd.conf中加入  MaxRequestsPerChild 1  再修改DJANGO代码不用重启apache

安装mysql for python : http://sourceforge.net/projects/mysql-python/

 cannot find -lprobes_mysql 增加 -DENABLE_DTRACE=OFF 编译选项

在mysql_config中libs=" $ldflags -L$pkglibdir -lmysqlclient   -lpthread -lprobes_mysql -lz -lm -lrt -ldl "

这一行中删除掉 -lprobes_mysql

libs_r=" $ldflags -L$pkglibdir -lmysqlclient_r   -lpthread -lprobes_mysql -lz -lm -lrt -ldl   "这一行也删除-lprobes_mysql

解决libmysqlclient.so.18: cannot open shared object file: no such file or directory failed问题

 ln -s /usr/local/lamp/mysql/lib/libmysqlclient.so.18 /usr/lib/

再重新安装mysql-python

 安装postgresql      PyGreSQL

Exception: pg_config tool is not available.

把os.popen('pg_config --%s' % s)   改为os.popen('/usr/local/lamp/pgsql/bin/pg_config --%s' % s)

ImportError: libpq.so.5: cannot open shared object file: No such file or directory

解决:

cd /etc/ld.so.conf.d echo "/usr/local/pgsql/lib" >>pgsql.conf ldconfig

问题No module named psycopg2.extensions

解决[root@fedora mysite]# yum install python-psycopg2*

0 人点赞