标签:lamp lnmp
软件分享:链接:http://pan.baidu.com/s/1dEbn229 密码:91xm
一,安装Apache
1,mini Linux安装必要包
yum -y grouplist yum -y groupinstall ‘Development tools,Desktop Platform Development‘ yum -y groupinstall ‘开发工具,桌面平台开发‘
2,安装apr-1.5.0
# tar xf apr-1.5.0.tar.gz # cd apr-1.5.0 # ./configure --prefix=/usr/local/apr # make && make install
3,安装apr-util-1.5.3
# tar xf apr-util-1.5.3.tar.bz2 # cd apr-util-1.5.3 # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr # make && make install
4,安装pcre
unzip pcre-8.32.zip cd pcre-8.32 ./configure --prefix=/usr/local/pcre make && make install
5,安装Apache
5.1 出现openssl错误:
yum -y install openssl-devel
tar xf httpd-2.4.10.tar.gz
cd httpd-2.4.10
./configure --prefix=/usr/local/apache --sysconfdir=/etc/httpd24 --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre=/usr/local/pcre/ --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --enable-modules=most --enable-mpms-shared=all --with-mpm=event
5.2 make && make install
编辑/etc/httpd24/httpd.conf,添加如下行即可:shift+g定位到行尾
PidFile "/var/run/httpd.pid"
5.3 编辑一个/etc/rc.d/init.d/httpd
-------------------------------------
#!/bin/bash
#
# httpd Startup script for the Apache HTTP Server
#
# chkconfig: - 85 15
# description: Apache is a World Wide Web server. It is used to serve \# HTML files and CGI.
# processname: httpd
# config: /etc/httpd24/conf/httpd.conf
# config: /etc/sysconfig/httpd
# pidfile: /var/run/httpd.pid
# Source function library.
. /etc/rc.d/init.d/functions
if [ -f /etc/sysconfig/httpd ]; then
. /etc/sysconfig/httpd
fi
# Start httpd in the C locale by default.
HTTPD_LANG=${HTTPD_LANG-"C"}
# This will prevent initlog from swallowing up a pass-phrase prompt if
# mod_ssl needs a pass-phrase from the user.
INITLOG_ARGS=""
# Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server
# with the thread-based "worker" MPM; BE WARNED that some modules may not
# work correctly with a thread-based MPM; notably PHP will refuse to start.
# Path to the apachectl script, server binary, and short-form for messages.
apachectl=/usr/local/apache/bin/apachectl
httpd=${HTTPD-/usr/local/apache/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/var/run/httpd.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd}
RETVAL=0
start() {
echo -n $"Starting $prog: "
LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch ${lockfile}
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
killproc -p ${pidfile} -d 10 $httpd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}
}
reload() {
echo -n $"Reloading $prog: "
if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then
RETVAL=$?
echo $"not reloading due to configuration syntax error"
failure $"not reloading $httpd due to configuration syntax error"
else
killproc -p ${pidfile} $httpd -HUP
RETVAL=$?
fi
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status -p ${pidfile} $httpd
RETVAL=$?
;;
restart)
stop
start
;;
condrestart)
if [ -f ${pidfile} ] ; then
stop
start
fi
;;
reload)
reload
;;
graceful|help|configtest|fullstatus)
$apachectl $@
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}"
exit 1
esac
exit $RETVAL
-----------------------------------------------
5.4 添加脚本的执行权限
chmod +x /etc/rc.d/init.d/httpd
service httpd start | stop二,安装nginx
6,安装zlib
tar zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure --prefix=/usr/local/zlib make && make install
7,安装openssl
tar zxvf openssl-1.0.2-latest.tar.gz tar zxvf nginx-1.7.12.tar.gz cp -R openssl-1.0.2a/ /usr/local/src/nginx-1.7.12
8,安装nginx
groupadd www
whereis nologin
useradd -g www -s /sbin/nologin www
mkdir /usr/local/nginx/
cd nginx-1.7.12
./configure --prefix=/usr/local/nginx --user=www --group=www --sbin-path=/usr/local/nginx/sbin --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --error-log-path=/usr/local/nginx/nginx-error.log --with-http_ssl_module --with-pcre=/soft/lamp_linux/pcre-8.32 --with-zlib=/soft/lamp_linux/zlib-1.2.8 --with-openssl=/soft/lamp_linux/openssl-1.0.2e
make && make install
mkdir /usr/local/nginx/access 保持日志
mkdir /usr/local/nginx/vhost 保持虚拟配置文件
vi /etc/rc.d/init.d/nginx
启动脚本:
----------------------------------
#!/bin/bash
# nginx Startup script for the Nginx HTTP Server
# it is v.0.0.2 version.
# chkconfig: - 85 15
# description: Nginx is a high-performance web and proxy server.
# It has a lot of features, but it‘s not for everyone.
# processname: nginx
# pidfile: /var/run/nginx.pid
# config: /usr/local/nginx/conf/nginx.conf
nginxd=/usr/local/nginx/sbin
nginx_config=/usr/local/nginx/nginx.conf
nginx_pid=/usr/local/nginx/nginx.pid
RETVAL=0
prog="nginx"
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -x $nginxd ] || exit 0
# Start nginx daemons functions.
start() {
if [ -e $nginx_pid ] ;then
echo "nginx already running...."
exit 1
fi
echo -n $"Starting $prog: "
daemon $nginxd -c ${nginx_config}
RETVAL=$?
echo
[ $RETVAL = 0 ] && touch /var/lock/subsys/nginx
return $RETVAL
}
# Stop nginx daemons functions.
stop() {
echo -n $"Stopping $prog: "
killproc $nginxd
RETVAL=$?
echo
[ $RETVAL = 0 ] && rm -f /var/lock/subsys/nginx $nginx_pid
}
reload() {
echo -n $"Reloading $prog: "
#kill -HUP `cat ${nginx_pid}`
killproc $nginxd -HUP
RETVAL=$?
echo
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
stop
start
;;
status)
status $prog
RETVAL=$?
;;
*)
echo $"Usage: $prog {start|stop|restart|reload|status|help}"
exit 1
esac
exit $RETVAL
--------------------------------------
授权:
chmod 755 /etc/rc.d/init.d/nginx
chkconfig nginx on
service nginx restart三,安装MySQL
9,安装MySQL
tar zxvf mysql-5.6.15-linux-glibc2.5-x86_64.tar.gz -C /usr/local/ cd /usr/local/ ln -sv mysql-5.6.15-linux-glibc2.5-x86_64/ mysql groupadd -r mysql useradd -g mysql -r -s /sbin/nologin -M -d /usr/local/mysql/data mysql chown -R mysql:mysql . cd mysql cp support-files/my-default.cnf /etc/my.cnf cp support-files/mysql.server /etc/rc.d/init.d/mysqld chmod +x /etc/rc.d/init.d/mysqld chkconfig --add mysqld chkconfig mysqld on yum -y install libaio-devel scripts/mysql_install_db --user=mysql service mysqld start ./bin/mysqladmin -u root password ‘hadoop123‘ ./bin/mysql -u root -p
四,安装php
10,安装bzip2
yum -y install bzip2-devel
11,安装libmcrypt
tar zxvf libmcrypt-2.5.7.tar.gz cd libmcrypt-2.5.7 ./configure --prefix=/usr/local/libmcrypt make && make install
12,安装libiconv
tar xf libiconv-1.14.tar.gz cd libiconv-1.14 ./configure --prefix=/usr/local/libiconv make && make install
13,安装libxml
cd libxml2-2.9.0 ./configure --prefix=/usr/local/libxml2 --with-zlib=/usr/local/zlib/ make && make install
14,安装curl
tar zxvf curl-7.42.0.tar.gz cd curl-7.42.0 ./configure --prefix=/usr/local/curl make && make install
15,安装php
./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr/local/libxml2 --enable-xml --enable-sockets --with-mcrypt=/usr/local/libmcrypt/ --with-config-file-path=/etc/ --with-config-file-scan-dir=/etc/php.d --with-bz2 --enable-maintainer-zts --enable-fpm --disable-fileinfo --with-iconv=/usr/local/libiconv --with-curl=/usr/local/curl make && make install cp php.ini-production /usr/local/php5.4/php5.4.ini ln -sv /usr/local/php5.4/php5.4.ini /etc/php5.4.ini vi /etc/php5.4.ini ------------------------------------------------------------------------ 修改为:date.timezone = PRC #设置时区 ----------------------------------------------------------------------- cp /usr/local/php5.4/etc/php-fpm.conf.default /usr/local/php5.4/etc/php-fpm.conf rm -rf /etc/php.d/* vi /usr/local/php5.4/etc/php-fpm.conf ---------------------------------------------------------------------------- pid = run/php-fpm5.4.pid #取消前面的分号 -------------------------------------------------------------------------- cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php5.4-fpm chmod +x /etc/rc.d/init.d/php5.4-fpm vi /etc/rc.d/init.d/php5.4-fpm
16,附上 nginx 与php整合配置
nginx.conf
----------------------------------
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
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 60;
tcp_nodelay on;
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 on;
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;
#limit_zone crawler $binary_remote_addr 10m;
log_format ‘$remote_addr - $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent "$http_referer" ‘
‘"$http_user_agent" "$http_x_forwarded_for"‘;
include /usr/local/nginx/vhost/*.conf;
}
-----------------------------------------------------
vhost/test.conf
------------------------------------------------------
server{
listen 80;
#ssl on;
server_name localhost;
#ssl_certificate /ssl/server.crt;
#ssl_certificate_key /ssl/server.key;
#error_page 404 /404.html;
location /404.html{
}
location / {
autoindex on;
root /opt/php/php_test/;
index index.php index.html index.htm;
if (-e $request_filename) {
break;
}
if (!-e $request_filename) {
rewrite ^/(.*)$ /index.php/$1 last;
break;
}
}
location ~ .+\.php($|/) {
root /opt/php/php_test/;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$ {
root /opt/php/php_test/;
if (-f $request_filename) {
expires 1d;
break;
}
}
#include /alidata/server/nginx/conf/rewrite/phpwind.conf;
access_log /usr/local/nginx/access/localhost.log;
}----------------------------END--------------------------------
本文出自 “dsczs博客” 博客,请务必保留此出处http://dsczs.blog.51cto.com/9480367/1784251
标签:lamp lnmp
原文地址:http://dsczs.blog.51cto.com/9480367/1784251