lanmp 环境搭建
软件分享:链接:http://pan.baidu.com/s/1dEbn229 密码:91xm 一,安装Apache1,mini Linux安装必要包
1
2
3
yum -y grouplist
yum -y groupinstall 'Development tools,Desktop Platform Development'
yum -y groupinstall '开发工具,桌面平台开发'
2,安装apr-1.5.0
1
2
3
4
# 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
1
2
3
4
# 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
1
2
3
4
unzip pcre-8.32.zip
cd pcre-8.32
./configure --prefix=/usr/local/pcre
make && make install
5,安装Apache
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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
1
2
3
4
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8
./configure --prefix=/usr/local/zlib
make && make install
7,安装openssl
1
2
3
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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
1
yum -y install bzip2-devel
11,安装libmcrypt
1
2
3
4
tar zxvf libmcrypt-2.5.7.tar.gz
cd libmcrypt-2.5.7
./configure --prefix=/usr/local/libmcrypt
make && make install
12,安装libiconv
1
2
3
4
tar xf libiconv-1.14.tar.gz
cd libiconv-1.14
./configure --prefix=/usr/local/libiconv
make && make install
13,安装libxml
1
2
3
cd libxml2-2.9.0
./configure --prefix=/usr/local/libxml2 --with-zlib=/usr/local/zlib/
make && make install
14,安装curl
1
2
3
4
tar zxvf curl-7.42.0.tar.gz
cd curl-7.42.0
./configure --prefix=/usr/local/curl
make && make install
15,安装php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
./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 #取消前面的分号
--------------------------------------------------------------------------
cpsapi/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整合配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
nginx.conf
----------------------------------
#usernobody;
worker_processes1;
#error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;
#pid logs/nginx.pid;
events {
worker_connections1024;
}
http {
include mime.types;
default_typeapplication/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_length1k;
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_zonecrawler$binary_remote_addr10m;
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_namelocalhost;
#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/;
indexindex.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_indexindex.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--------------------------------
页:
[1]