基于gentoo安装Nginx php mysql的方法

1、先在/etc/make.conf加入sync站点,待会儿要用emerge进行同步。

代码如下:

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

在执行 emerge --sync 同步portage树。
2、升级portage 版本,要不待会儿安装mysql的时候会提示portage 版本旧的!

代码如下:

emerge portage

先定义USE:

代码如下:

/etc/portage/package.use 
dev-lang/php cli ming xml ftp curl pdo mysqli mysql sqlite json cgi ctype gd hash 
www-servers/nginx fastcgi 
编辑/etc/portage/package.keywords 
www-servers/spawn-fcgi ~x86

3、安装 mysql nginx php spawn-fcgi pecl-apc pecl-memcache。

代码如下:

emerge mysql nginx php spawn-fcgi pecl-apc pecl-memcache

4、配置mysql。

代码如下:

mkdir -p /data0/mysql/data 
mysql_install_db --user=mysql --basedir=/usr --datadir=/data0/mysql/data

配置my.cnf

代码如下:

rm -f /etc/mysql/my.cnf 
vim /etc/mysql/my.cnf 
[client] 
port = 3306 
socket = /var/run/mysqld/mysqld.sock 
[mysql] 
prompt="(\u:s135[\d]> " 
no-auto-rehash 
[mysqld] 
bind-address = 173.252.207.109 
user = mysql 
port = 3306 
socket = /var/run/mysqld/mysqld.sock 
basedir = /usr 
datadir = /data0/mysql/data 
open_files_limit = 600 
back_log = 20 
max_connections = 100 
max_connect_errors = 200 
table_cache = 60 
external-locking = FALSE 
max_allowed_packet = 16M 
sort_buffer_size = 128K 
join_buffer_size = 128K 
thread_cache_size = 10 
thread_concurrency = 8 
query_cache_size = 0M 
query_cache_limit = 2M 
query_cache_min_res_unit = 2k 
default_table_type = MyISAM 
thread_stack = 192K 
transaction_isolation = READ-UNCOMMITTED 
tmp_table_size = 512K 
max_heap_table_size = 32M 
/var/log/slow.log 
/var/log/error.log 
long_query_time = 1 
log_long_format 
server-id = 1 
#log-bin = /usr/local/mysql/data/binlog 
binlog_cache_size = 2M 
max_binlog_cache_size = 4M 
max_binlog_size = 512M 
expire_logs_days = 7 
key_buffer_size = 4M 
read_buffer_size = 1M 
read_rnd_buffer_size = 2M 
bulk_insert_buffer_size = 2M 
myisam_sort_buffer_size = 4M 
myisam_max_sort_file_size = 10G 
myisam_max_extra_sort_file_size = 10G 
myisam_repair_threads = 1 
myisam_recover 
[mysqldump] 
quick 
max_allowed_packet = 16M 
mysqladmin -uroot password ""

启动mysql
/etc/init.d/mysql start
5、配置nginx
vim /etc/nginx/nginx.conf

代码如下:

user nginx nginx; 
worker_processes 1; 
error_log /var/log/nginx/nginx_error.log crit; 
pid /var/run/nginx.pid; 
#Specifies the value for maximum file descriptors that can be opened by this process. 
worker_rlimit_nofile 52100; 
events 
{ 
use epoll; 
worker_connections 52100; 
} 
http 
{ 
include mime.types; 
default_type application/octet-stream; 
#charset gb2312; 
server_names_hash_bucket_size 128; 
client_header_buffer_size 32k; 
large_client_header_buffers 4 32k; 
client_max_body_size 8m; 
sendfile on; 
tcp_nopush on; 
keepalive_timeout 70 20; 
tcp_nodelay on; 
server_tokens off; 
fastcgi_connect_timeout 300; 
fastcgi_send_timeout 300; 
fastcgi_read_timeout 300; 
fastcgi_buffer_size 64k; 
fastcgi_buffers 4 64k; 
fastcgi_busy_buffers_size 128k; 
fastcgi_temp_file_write_size 128k; 
gzip off; 
gzip_min_length 1k; 
gzip_buffers 4 16k; 
gzip_http_version 1.0; 
gzip_comp_level 2; 
gzip_types text/plain application/x-javascript text/css application/xml; 
gzip_vary on; 
server 
{ 
server_name www.freebsdsystem.org; 
root /data0/www/wwwroot/; 
index index.html index.htm index.php; 
location ~ .*\.php?$ 
{ 
#fastcgi_pass unix:/tmp/php-cgi.sock; 
fastcgi_pass 127.0.0.1:9000; 
fastcgi_index index.php; 
include fcgi.conf; 
} 
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ 
{ 
expires 30d; 
} 
location ~ .*\.(js|css)?$ 
{ 
expires 1h; 
} 
log_format blog '$remote_addr - $remote_user [$time_local] "$request" ' 
'$status $body_bytes_sent "$http_referer" ' 
'"$http_user_agent" $http_x_forwarded_for'; 
access_log /var/log/nginx/blog.log blog; 
} 
}

配置spawn-fcgi

代码如下:

vim /usr/local/bin/php-fcgi 
#!/bin/sh 
# author:coralzd 
# powered by www.freebsdsystem.org 
bin=/usr/bin/php-cgi 
case $1 in 
start) 
echo "starting php-cgi" 
spawn-fcgi -a 127.0.0.1 -p 9000 -C 8 -u nginx -g nginx -f /usr/bin/php-cgi 2>&1 >/dev/null & 
echo "Done" 

stop) 
killall php-cgi 
echo "php-cgi stop" 

*) 
echo "usage start|stop";; 
esac

6、开机启动 nginx mysql

代码如下:

rc-update add nginx default 
rc-update add mysql default

至此配置完成!

相关推荐