開源運維服務器信息管理系統 - 安裝手冊
python
簡介mysql
《運維服務器信息管理系統》在CentOS6.二、CentOS5.5 64位 測試經過。提供系統源碼包下載地址:nginx
http://down.51cto.com/data/581342。環境條件:c++
一、系統python版本推薦2.6以上。web
二、web.py-0.36sql
系統安裝數據庫
一、安裝pythonvim
1)、安裝服務器
# tar –jxvf Python-2.6.1.tar.bz2app
# cd Python-2.6.1
# ./configure --prefix=/usr/local/python2.6
# make
# make install
2)、建立鏈接
# mv /usr/bin/python /usr/bin/python.old
# ln -s /usr/local/python2.6/bin/python2.6 /usr/bin/python
3)、添加到環境變量
# vi /etc/profile
PATH=$PATH:/usr/local/python2.6/bin/
# source /etc/profile
提示:python升級後將致使yum不能用,由於yum是使用python寫的,他不能找到該版本的模塊。
二、安裝Nginx
1)、安裝必須軟件包
# yum -y install gcc gcc-c++ autoconf automake zlib zlib-devel openssl openssl-devel pcre pcre-devel
2)、安裝pcre庫
# tar zxvf pcre-7.9.tar.gz
# cd pcre-7.9
# ./configure
# make && make install
# cd ../
3)、安裝Nginx
# useradd -s /sbin/nologin www
# wget http://www.nginx.org/download/nginx-1.3.8.tar.gz
# tar zxvf nginx-1.3.8.tar.gz
# cd nginx-1.3.8/
# ./configure --user=www --group=www --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module
# make && make install
三、安裝Mysql
1)、安裝必備軟件包
# yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make
2)、添加mysql用戶
# useradd -s /sbin/nologin mysql
3)、編譯安裝cmake-2.8.5
# wget http://www.cmake.org/files/v2.8/cmake-2.8.5.tar.gz
# tar zxvf cmake-2.8.5.tar.gz
# cd cmake-2.8.5
# ./configure
# make && make install
4)、編譯安裝bison-2.5
# wget http://ftp.gnu.org/gnu/bison/bison-2.5.tar.gz
# tar zxvf bison-2.5.tar.gz2
# cd bison-2.5
# ./configure
# make
# make install
5)、編譯安裝mysql-5.5.16
# tar xvf mysql-5.5.16.tar.gz
# cd mysql-5.5.16/
# cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/data/mysql \
-DMYSQL_USER=mysql
# make
# make install
6)、給目錄受權
# mkdir -p /data/mysql
# mkdir -p /var/run/mysqld
# chown -R mysql.mysql /var/run/mysqld
# chown -R mysql.mysql /data/mysql
# chown -R mysql.mysql /opt/mysql
7)、設定配置文件
# cp support-files/my-huge.cnf /etc/my.cnf
# chmod 755 /opt/mysql/bin/
8)、配置MySQL
# vi /etc/my.cnf
a、找到[mysqld],添加如下參數:
datadir = /data/mysql
basedir = /opt/mysql
pid-file=/var/run/mysqld/mysqld.pid
skip-name-resolve
expire-logs-days = 30
max_connections = 2000
b、在文件末尾添加如下參數:
[mysqld_safe]
log-error=/data/mysql/mysqld_error.log //設置錯誤日誌存放路徑
# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
# chmod 755 /etc/rc.d/init.d/mysqld
9)、初始化數據庫並啓動mysql數據庫
# /opt/mysql/scripts/mysql_install_db --basedir=/opt/mysql --datadir=/data/mysql --user=mysql --defaults-file=/etc/my.cnf
# /opt/mysql/bin/mysqld_safe --user=mysql & 或者
# service mysqld start
10)、將mysql加入開機啓動
# chkconfig --add mysqld
# chkconfig --level 345 mysqld on
11)、將mysql加入環境變量
# vi /etc/profile
PATH=$PATH:/opt/mysql/bin
export PATH
# source /etc/profile
四、安裝Python MySQLdb庫
1)、首先確認python的版本爲2.3.4以上,若是不是須要升級python的版本
# python -V 檢查python版本
# yum -y install python-devel
2)、下載 MySQL-python-1.2.2.tar.gz
地址 https://sourceforge.net/projects/mysql-python/
3)、安裝 MySQl-python
# tar xvzf MySQL-python-1.2.2.tar.gz
# cd MySQL-python-1.2.2
# vi site.cfg
去掉註釋mysql_config = /usr/local/mysql/bin/mysql_config
修改路徑mysql_config = /正確路徑
# python setup.py build
# sudo python setup.py install
4)、測試
# import MySQLdb
若是沒有報錯,說明安裝好了。
錯誤一:
python2.6 setup.py install
Traceback (most recent call last):
File "setup.py", line 5, in <module>
from setuptools import setup, Extension
ImportError: No module named setuptools
處理方法,安裝setuptools
# wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
# tar zxvf setuptools-0.6c11.tar.gz
# cd setuptools-0.6c11
# python2.6 setup.py install
錯誤二:
import _mysql
ImportError: libmysqlclient_r.so.15: cannot open shared object file: No such file or directory
處理方法有兩種:
方法一.更改 /etc/profile中的變量值
# vi /etc/profile
把/pathtomysql/lib/mysql加到LD_LIBRARY_PATH環境變量中
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysql/lib/mysql
注:MySQL5.5是:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mysql/lib
方法二.將建連接到 /usr/lib
# cd /usr/lib
# ln -s /path/to/mysql50/lib/mysql/libmysqlclient_r.so.15.0.0 libmysqlclient_r.so.15
# ln -s /path/to/mysql50/lib/mysql/libmysqlclient_r.so.15.0.0 libmysqlclient_r.so
五、安裝uwsgi,用於運行web.py
# wget http://projects.unbit.it/downloads/uwsgi-1.2.3.tar.gz
# tar xvf uwsgi-1.2.3.tar.gz
# cd uwsgi-1.2.3
# python uwsgiconfig.py --build
# python setup.py install
六、新建站點目錄
# mkdir -p /data/wwwroot/
七、配置 站點 虛擬主機
server
{
listen 80;
server_name 172.16.2.95;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9090;
}
location ^~ /static/
{
alias /data/wwwroot/yunwei/static/;
}
}
八、安裝web.py框架
# wget http://webpy.org/static/web.py-0.36.tar.gz
# tar xf web.py-0.36.tar.gz
# cd web.py-0.36
# python setup.py install
九、安裝pyton庫xlwt,用於導出數據到excel
# tar xf xlwt-0.7.4.tar.gz
# cd xlwt-0.7.4
# python setup.py install
十、部署系統源代碼
1)、釋放源代碼
# tar xf yunwei.tar.gz –C /data/wwwroot
2)、建立數據庫並導入數據
# mysql -uroot -proot -e "create database yunwei"
# mysql -uroot -proot yunwei < /data/wwwroot/yunwei/yunwei.sql
3)、修改系統配置
# cd /data/wwwroot/yunwei
# vim config/setting.py
修改如下爲相應的配置:
db=web.database(dbn='mysql',db='yunwei',user='用戶名',pw='密碼',unix_socket="/tmp/mysql.sock)
十一、運行系統
1)、添加各程序路徑到環境變量
# vi /etc/profile
PATH=$PATH:/opt/mysql/bin:/opt/nginx/sbin:/usr/local/python2.6/bin/
export PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/mysql/lib
# source /etc/profile
2)、配置文件正確後,啓動
# /opt/nginx/sbin/nginx -t
#/opt/nginx/sbin/nginx -s reload
3)、編寫uwsgi啓動配置文件
# vi uwsgi_conf.xml
<uwsgi id="yunwei">
<socket>127.0.0.1:9090</socket>
<module>app</module> //注:app爲主程序app.py
<master />
<pythonpath>/usr/bin/python</pythonpath>
<chdir>/data/wwwroot/yunwei</chdir> //注:站點目錄
<processes>2</processes> //注:開啓2個進程來運行
<enable-threads>true</enable-threads>
<post-buffering>1024</post-buffering>
<listen>1024</listen>
<memory-report/>
<pidfile>/tmp/uwsgi_app.pid</pidfile>
<max-requests>65535</max-requests>
<daemonize>/tmp/uwsgi_app.log</daemonize> //注:使uwsgi後臺運行。輸入某文件,將輸出內部運行日誌。此項爲空,能夠防止日誌文件暴增。
<log-date/>
</uwsgi>
4)、啓動uwsgi
# uwsgi -x uwsgi_conf.xml
5)、登陸 http://172.16.2.95,初始帳戶密碼皆爲:steven
6)、若是出現500服務器內部故障提示,則檢查輸出日誌。不然,安裝成功。
本文出自 「John Steven - 鹹魚」 博客,請務必保留此出處http://johnsteven.blog.51cto.com/2523007/1046880