ubuntu12.04 + nginx + mysql + php(wordpress) + python(pyramid) + uwsgi 配置

1.找些速度快點的更新源。

備份一下原來的sources.list

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

然後把sources.list 的內容替換成如下內容

deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu precise partner
deb http://extras.ubuntu.com/ubuntu precise main

2. 安裝Nginx

sudo apt-get update

sudo apt-get install nginx

訪問一下你的服務器(http://yourIP),應該可以看到nginx的歡迎界面了。

3. 安裝php

sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql php5-curl php5-gd php5-pear

修改nginx的配置

vim /etc/nginx/sites-enabled/default

在server內部添加如下配置

location ~ \.php$ {

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi_params;

}

重啓nginx

service nginx restart

新建一個info.php 文件,放在網站根目錄下,文件內容如下

<?php phpinfo(); ?>

瀏覽器訪問http://ip/info.ph, 如果出現php信息,說明php成功安裝。

4. 安裝MySQL

sudo install mysql-server

5.Install phpmyadmin

sudo apt-get install phpmyadmin

會提示你輸入一次mysql數據庫密碼,兩次phpmyadmin密碼。

安裝好之後把phpmyadmin 放到web服務器根目錄

cp -r /usr/share/phpmyadmin /var/www/

然後設置nginx 的參數 vi /etc/nginx/sites-enabled/default

加入如下內容

location /phpmyadmin/ {

alias /var/www/phpmyadmin;

index index.php;

}

現在可以用 http://ip/phpmyadmin 來訪問你phpmyadmin了。

6. 安裝wordpress

cd /var/www/

wget http://wordpress.org/latest.tar.gz

tar zxv -f latest.tar.gz

然後在 /etc/nginx/sites-enables/ 下面新建文件,名字任意,比如wordpress

server

{

listen 80;

server_name your_domain_name_for_wordpress;

index index.html index.htm index.php default.html default.htm default.php;

root /var/www/wordpress;

include /etc/nginx/wordpress.conf;

location ~ \.php$ {

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi_params;

}

location / {

if (-f $request_filename/index.html){

rewrite (.*) $1/index.html break;

}

if (-f $request_filename/index.php){

rewrite (.*) $1/index.php;

}

if (!-f $request_filename){

rewrite (.*) /index.php;

}

}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires 30d;

}

location ~ .*\.(js|css)?$

{

expires 12h;

}

access_log off;

}

訪問你在server_name 那裏寫的域名,就可以看到wordpress的配置界面了。

7. 安裝Pyramid

sudo apt-get install python-dev python-pip libjpeg62-dev

sudo apt-get install build-essential

easy_install virtualenv

cd /home

mkdir pyramid

cd pyramid

virtualenv –no-site-packages env(名字自己取)

cd env
bin/easy_install pyramid

bin/pcreate -s alchemy tutorial(名字自己取)

cd tutorial
../bin/python setup.py develop

修改一下development.ini 的內容

sqlalchemy.url = mysql://root:@localhost/buffer?charset=utf8

安裝一點包

sudo apt-get install libmysqld-dev libmysqlclient-dev

安裝 MySQL-python

../bin/easy_install MySQL-python

建立數據庫

../bin/initialize_project_db development.ini

8. 安裝uWSGI

easy_install uwsgi

如果運氣不好沒成功,安裝下面的包試一下。

sudo apt-get install libxml2-dev

9. 配置MySQL

修改 /etc/mysql/my.cnf, 在[mysqld] 標籤下添加如下內容:

skip-character-set-client-handshake
collation_server=utf8_unicode_ci
character_set_server=utf8

然後重啓mysql

sudo service mysql restart

10. 配置Nginx

修改/etc/nginx/nginx.conf ,下面是一個示例:

user www-data;
worker_processes 16;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

worker_rlimit_nofile 20480;
events {
use epoll;
worker_connections 20480;
}
timer_resolution 500ms;

http {
include mime.types;
default_type application/octet-stream;

log_format main ‘$remote_addr $host $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” “$http_user_agent” “$gzip_ratio” “$request_length” “$upstream_response_time” “$request_time”‘;
access_log /var/log/nginx/access.log main;

sendfile on;

keepalive_timeout 60;
tcp_nodelay on;

gzip_disable “MSIE [1-6]\.(?!.*SV1)”;
gzip_buffers 16 8k;
gzip_comp_level 1;
gzip_min_length 0;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

在 /etc/nginx/sites-available/ 新建一個文件,名字任意比如是 pyramid:

server {
listen 80;
access_log off;

server_name your_domain;

error_log /var/log/nginx/http.error.log;

charset utf-8;
location / {
uwsgi_pass unix:///tmp/uwsgi.sock;
include uwsgi_params;
uwsgi_param SCRIPT_NAME /;
}
}

建立軟連接

ln -sf /etc/nginx/sites-available/demo /etc/nginx/sites-enabled/demo

重啓nginx

service nginx restart

11. 配置uWSGI

在pyramid項目的 production.ini/development.ini 文件裏面添加下面的內容:

[uwsgi]
socket = /tmp/uwsgi.sock
master = true

processes = 4

harakiri = 60
harakiri-verbose = true
limit-post = 65536
post-buffering = 8192

daemonize = ./uwsgi.log
pidfile = ./pid_5000.pid

listen = 256

max-requests = 1000

reload-on-as = 128
reload-on-rss = 96
no-orphans = true

log-slow = true

virtualenv = /home/pyramid/env

啓動uwsgi,(可以把此命令加入到 /etc/rc.local,以便開機自動運行):

uwsgi –ini-paste-logged production.ini

看一下uwsgi的狀態:

$ ps axu | grep uwsgi

你會看到如下的內容

sunliang 16510 19.0 0.3 96072 30032 ? S 18:06 0:00 uwsgi –ini-paste production.ini
sunliang 16511 0.0 0.3 96072 26972 ? S 18:06 0:00 uwsgi –ini-paste production.ini
sunliang 16512 0.0 0.3 96072 26968 ? S 18:06 0:00 uwsgi –ini-paste production.ini
sunliang 16513 0.0 0.3 96072 26968 ? S 18:06 0:00 uwsgi –ini-paste production.ini
sunliang 16514 0.0 0.3 96072 26968 ? S 18:06 0:00 uwsgi –ini-paste production.ini
sunliang 16521 0.0 0.0 7620 908 pts/0 S+ 18:06 0:00 grep –color=auto uwsgi

1.找些速度快點的更新源。

備份一下原來的sources.list

sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup

然後把sources.list 的內容替換成如下內容

deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ precise-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu precise-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu precise partner
deb http://extras.ubuntu.com/ubuntu precise main

2. 安裝Nginx

sudo apt-get update

sudo apt-get install nginx

訪問一下你的服務器(http://yourIP),應該可以看到nginx的歡迎界面了。

3. 安裝php

sudo apt-get install php5-cli php5-cgi php5-fpm php5-mcrypt php5-mysql php5-curl php5-gd php5-pear

修改nginx的配置

vim /etc/nginx/sites-enabled/default

在server內部添加如下配置

location ~ \.php$ {

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi_params;

}

重啓nginx

service nginx restart

新建一個info.php 文件,放在網站根目錄下,文件內容如下

<?php phpinfo(); ?>

瀏覽器訪問http://ip/info.ph, 如果出現php信息,說明php成功安裝。

4. 安裝MySQL

sudo install mysql-server

5.Install phpmyadmin

sudo apt-get install phpmyadmin

會提示你輸入一次mysql數據庫密碼,兩次phpmyadmin密碼。

安裝好之後把phpmyadmin 放到web服務器根目錄

cp -r /usr/share/phpmyadmin /var/www/

然後設置nginx 的參數 vi /etc/nginx/sites-enabled/default

加入如下內容

location /phpmyadmin/ {

alias /var/www/phpmyadmin;

index index.php;

}

現在可以用 http://ip/phpmyadmin 來訪問你phpmyadmin了。

6. 安裝wordpress

cd /var/www/

wget http://wordpress.org/latest.tar.gz

tar zxv -f latest.tar.gz

然後在 /etc/nginx/sites-enables/ 下面新建文件,名字任意,比如wordpress

server

{

listen 80;

server_name your_domain_name_for_wordpress;

index index.html index.htm index.php default.html default.htm default.php;

root /var/www/wordpress;

include /etc/nginx/wordpress.conf;

location ~ \.php$ {

fastcgi_split_path_info ^(.+\.php)(/.+)$;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

include fastcgi_params;

}

location / {

if (-f $request_filename/index.html){

rewrite (.*) $1/index.html break;

}

if (-f $request_filename/index.php){

rewrite (.*) $1/index.php;

}

if (!-f $request_filename){

rewrite (.*) /index.php;

}

}

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

{

expires 30d;

}

location ~ .*\.(js|css)?$

{

expires 12h;

}

access_log off;

}

訪問你在server_name 那裏寫的域名,就可以看到wordpress的配置界面了。

7. 安裝Pyramid

sudo apt-get install python-dev python-pip libjpeg62-dev

sudo apt-get install build-essential

easy_install virtualenv

cd /home

mkdir pyramid

cd pyramid

virtualenv –no-site-packages env(名字自己取)

cd env
bin/easy_install pyramid

bin/pcreate -s alchemy tutorial(名字自己取)

cd tutorial
../bin/python setup.py develop

修改一下development.ini 的內容

sqlalchemy.url = mysql://root:@localhost/buffer?charset=utf8

安裝一點包

sudo apt-get install libmysqld-dev libmysqlclient-dev

安裝 MySQL-python

../bin/easy_install MySQL-python

建立數據庫

../bin/initialize_project_db development.ini

8. 安裝uWSGI

easy_install uwsgi

如果運氣不好沒成功,安裝下面的包試一下。

sudo apt-get install libxml2-dev

9. 配置MySQL

修改 /etc/mysql/my.cnf, 在[mysqld] 標籤下添加如下內容:

skip-character-set-client-handshake
collation_server=utf8_unicode_ci
character_set_server=utf8

然後重啓mysql

sudo service mysql restart

10. 配置Nginx

修改/etc/nginx/nginx.conf ,下面是一個示例:

user www-data;
worker_processes 16;

error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;

worker_rlimit_nofile 20480;
events {
use epoll;
worker_connections 20480;
}
timer_resolution 500ms;

http {
include mime.types;
default_type application/octet-stream;

log_format main ‘$remote_addr $host $remote_user [$time_local] “$request” ‘
‘$status $body_bytes_sent “$http_referer” “$http_user_agent” “$gzip_ratio” “$request_length” “$upstream_response_time” “$request_time”‘;
access_log /var/log/nginx/access.log main;

sendfile on;

keepalive_timeout 60;
tcp_nodelay on;

gzip_disable “MSIE [1-6]\.(?!.*SV1)”;
gzip_buffers 16 8k;
gzip_comp_level 1;
gzip_min_length 0;
gzip_types text/plain text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

在 /etc/nginx/sites-available/ 新建一個文件,名字任意比如是 pyramid:

server {
listen 80;
access_log off;

server_name your_domain;

error_log /var/log/nginx/http.error.log;

charset utf-8;
location / {
uwsgi_pass unix:///tmp/uwsgi.sock;
include uwsgi_params;
uwsgi_param SCRIPT_NAME /;
}
}

建立軟連接

ln -sf /etc/nginx/sites-available/demo /etc/nginx/sites-enabled/demo

重啓nginx

service nginx restart

11. 配置uWSGI

在pyramid項目的 production.ini/development.ini 文件裏面添加下面的內容:

[uwsgi]
socket = /tmp/uwsgi.sock
master = true

processes = 4

harakiri = 60
harakiri-verbose = true
limit-post = 65536
post-buffering = 8192

daemonize = ./uwsgi.log
pidfile = ./pid_5000.pid

listen = 256

max-requests = 1000

reload-on-as = 128
reload-on-rss = 96
no-orphans = true

log-slow = true

virtualenv = /home/pyramid/env

啓動uwsgi,(可以把此命令加入到 /etc/rc.local,以便開機自動運行):

uwsgi –ini-paste-logged production.ini

看一下uwsgi的狀態:

$ ps axu | grep uwsgi

你會看到如下的內容

sunliang 16510 19.0 0.3 96072 30032 ? S 18:06 0:00 uwsgi –ini-paste production.ini
sunliang 16511 0.0 0.3 96072 26972 ? S 18:06 0:00 uwsgi –ini-paste production.ini
sunliang 16512 0.0 0.3 96072 26968 ? S 18:06 0:00 uwsgi –ini-paste production.ini
sunliang 16513 0.0 0.3 96072 26968 ? S 18:06 0:00 uwsgi –ini-paste production.ini
sunliang 16514 0.0 0.3 96072 26968 ? S 18:06 0:00 uwsgi –ini-paste production.ini
sunliang 16521 0.0 0.0 7620 908 pts/0 S+ 18:06 0:00 grep –color=auto uwsgi



發佈了81 篇原創文章 · 獲贊 65 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章