Ubuntu 下配置 Nginx + php + mysql

 

//建立开源程序包文件夹

mkdir software
cd software

//开源程序包下载

wget http://cdn.mysql.com/Downloads/MySQL-5.5/mysql-5.5.33.tar.gz
wget http://www.php.net/get/php-5.4.10.tar.gz/from/this/mirror
wget http://nginx.org/download/nginx-1.5.3.tar.gz

//安装需要的软件包(可能版本不同,需要下载的也不同。)

sudo apt-get update

sudo apt-get install cmake automake openssl libtool gcc g++ bison ncurses-dev make autoconf bzip2 libcurl4-openssl-dev php5-gd libpcre++-dev libjpeg-dev libpng12-dev libxpm-dev libfreetype6-dev libt1-dev libmcrypt-dev libmysql++-dev libxslt1-dev libbz2-dev

 //添加用户组

sudo groupadd mysql
sudo useradd -r -g mysql mysql
sudo useradd www
sudo usermod -d /home/www -g www-data www

//创建目录 

sudo mkdir /usr/local/webserver
sudo mkdir /usr/local/webserver/php
sudo mkdir /usr/local/webserver/mysql
sudo mkdir /usr/local/webserver/mysqldata
sudo mkdir /usr/local/webserver/nginx

//编译mysql

sudo cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql -DMYSQL_DATADIR=/usr/local/webserver/mysql/mysqldata -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_EXTRA_CHARSETS:STRING=utf8,gbk -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

sudo make && make install

//创建my.cnf

sudo vi /etc/my.cnf

/*my.cnf*/

[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock

[mysqld]
port = 3306
socket = /tmp/mysql.sock
basedir = /usr/local/webserver/mysql
datadir = /usr/local/webserver/mysqldata
log-error = /usr/local/webserver/mysqldata/mysql_error.log
pid-file = /usr/local/webserver/mysqldata/mysql.pid
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
character_set_server=utf8 
character-set-server = utf8
collation-server = utf8_general_ci


[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M

[mysqlhotcopy]
interactive-timeout

#/*end*/

 

#配置开机自启动

sudo cp /usr/local/webserver/mysql/support-files/mysql.server /etc/init.d/mysql
sudo chmod +x /etc/init.d/mysql

#设置权限

sudo chmod +x /usr/local/webserver/mysql
sudo chown -R mysql.mysql /usr/local/webserver/mysql

#安装默认数据表( 可以只用--user )

sudo /usr/local/webserver/mysql/scripts/mysql_install_db -–basedir=/usr/local/webserver/mysql –-datadir=/usr/local/webserver/mysql/mysqldata –-user=mysql --collation-server=utf8_general_ci

#启动MySQL

sudo /etc/init.d/mysql start (restart stop start)

 

#测试MySQL是否启动
# 1)查看是否有进程mysql
ps -ef | grep mysql
# 2)查看端口是否运行
netstat -tnl | grep 3306
# 3)读取mysql版本信息
mysqladmin version
##安装成功,Thanks God!

  

 //编译php

 

cd ../
tar zxvf mirror

cd php-5.4.10

sudo ./configure --prefix=/usr/local/webserver/php --with-mysql=/usr/local/webserver/mysql --with-mysqli=/usr/local/webserver/mysql/bin/mysql_config --with-config-file-path=/usr/local/webserver/php/etc --with-zlib --with-curl --with-curlwrappers --with-mcrypt --with-gd --with-openssl --with-mhash --with-xmlrpc --with-jpeg-dir --with-png-dir --with-xpm-dir --with-freetype-dir --with-zlib-dir --enable-shared --enable-fpm --enable-xml --disable-rpath --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-mbregex --enable-mbstring --enable-gd-native-ttf --enable-pcntl --enable-sockets --enable-zip  --enable-soap

//如果出现 libXpm.(a|so)没找到  执行下面

ln -s /usr/lib/ (可以用 find 命令 find /usr/lib -name libXpm.* ) /libXpm.a  /usr/lib/libXpm.a
ln -s /usr/lib/ (x86_64 or i386 ) /libXpm.so  /usr/lib/libXpm.so
ln -s /usr/lib/ (x86_64 or i386 ) /libXpm.so.4  /usr/lib/libXpm.so.4
ln -s /usr/lib/ (x86_64 or i386 ) /libXpm.so.4.11  /usr/lib/libXpm.so.4.11


sudo make && make install

//php.ini(注意php.ini-production在源码里)

sudo cp -f php.ini-production /usr/local/webserver/php/etc/php.ini

//php-fpm

sudo cp /usr/local/webserver/php/etc/php-fpm.conf.default /usr/local/webserver/php/etc/php-fpm.conf

sudo chmod +x /etc/init.d/php-fpm
//php-fpm 启动
sudo cp -f /usr/local/webserver/php/sbin/php-fpm /etc/init.d/php-fpm

/etc/init.d/php-fpm

 

//编译nginx

 

cd ../
tar zxvf nginx-1.5.3.tar.gz

cd nginx-1.5.3

sudo ./configure --user=www --group=www-data --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module

sudo make && sudo make install

 

//nginx.conf 

sudo vi /usr/local/webserver/nginx/conf/nginx.conf

/*nginx.conf*/

worker_processes 8; error_log /home/logs/error.log; pid logs/nginx.pid; worker_rlimit_nofile 65535; events { use epoll; worker_connections 65535; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; gzip on; server { listen 80; server_name localhost; access_log home/logs/host.access.log main; error_page 404 /404.html; error_page 500 502 503 504 /50x.html; location = /50x.html { root /home/www-data/www; } location / { root /home/www-data/www; index index.html index.htm index.php; } location ~ \.php { #root /home/www-data/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; #fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
       fastcgi_param PATH_INFO $document_root$fastcgi_script_name;
       include fastcgi_params;
    }
	location ~ \.(gif|jpg|jpeg|png|bmp|swf)$ {
		expires	30d;
        }	
    }
	

}

  

//启动nginx

/usr/local/webserver/nginx/sbin/nginx  //启动
/usr/local/webserver/nginx/sbin/nginx -t //检查conf
/usr/local/webserver/nginx/sbin/nginx -s reload //重启

完毕!

 

 

 

posted on 2013-08-12 17:29  luffy丶zhao  阅读(431)  评论(0)    收藏  举报