设为首页 收藏本站
查看: 875|回复: 0

源码搭建lamp和lnmp环境

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-5-16 09:29:49 | 显示全部楼层 |阅读模式
1: lamp和lnmp解释

    lampn分别代表:linux、apache、mysql、php、nginx。安装大概思路如下:
        linux环境安装就省略了。
        1:mysql安装在两个环境都一样的。

        2: lnmp环境下nginx的安装。

        3: lamp环境下apache的安装。

        4: php在安装的时候应该算最复杂的了吧。其中,针对不同环境的编译选项不同。apache的编译选项--with-apxs2=/usr/local/apache2/bin/apxs,这里apache的安装目录在/usr/local/apache2/。nginx的编译选项--enable-fpm。

2: mysql的安装,直接上安装脚本
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
#!/bin/sh
LANG=C

if [ -d "/usr/local/mysql/" ];then
    echo "mysql is install"
    exit 1
else
    echo "mysql in not install"
fi

my_gcc=`rpm -qa gcc`
if [[ -n "$my_gcc" ]];then
    echo "$my_gcc"
else
    yum -y install gcc
fi

my_gcc_c=`rpm -qa gcc-c++`
if [[ -n "$my_gcc_c" ]];then
    echo "$my_gcc_c"
else
    yum -y install gcc-c++
fi

my_make=`rpm -qa make`
if [[ -n "$my_make" ]];then
    echo "$my_make"
else
    yum -y install make
fi

my_tar=`rpm -qa tar`
if [[ -n "$my_tar" ]];then
    echo "$my_tar"
else
    yum -y install tar
fi

my_openssl=`rpm -qa openssl`
if [[ -n "$my_openssl" ]];then
    echo "$my_openssl"
else
    yum -y install openssl
fi

my_openssl_devel=`rpm -qa openssl-devel`
if [[ -n "$my_openssl_devel" ]];then
    echo "$my_openssl_devel"
else
    yum -y install openssl-devel
fi

my_cmake=`rpm -qa cmake`
if [[ -n "$my_cmake" ]];then
    echo "$my_cmake"
else
    yum -y install cmake || (echo "install cmake failed, exit 2.";exit 2)
fi

my_ncurses=`rpm -qa ncurses`
if [[ -n "$my_ncurses" ]];then
    echo "$my_ncurses"
else
    yum -y install ncurses
fi

my_ncurses_devel=`rpm -qa ncurses-devel`
if [[ -n "$my_ncurses_devel" ]];then
    echo "$my_ncurses_devel"
else
    yum -y install ncurses-devel
fi

#make clean
#rm  -f CMakeCache.txt
mkdir -p /data/mysql
groupadd mysql
useradd -g mysql -M -s /sbin/nologin mysql

cd /usr/local/src
tar -zxvf mysql-5.6.29.tar.gz
cd mysql-5.6.29
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DDEFAULT_CHARSET=utf8  -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS:STRING=all -DWITH_DEBUG=0 -DWITH_SSL=yes -DWITH_READLINE=1 -DENABLED_LOCAL_INFILE=1
if [ $? -ne 0 ];then
    echo "configure error. exit 2"
    exit 2
fi
echo "*******************************************"
echo "configure success"
echo "*******************************************"
echo "sleep 5, and begin make and make install"
sleep 5
make
make install
echo "install mysql success. mysql is in /usr/local/mysql"
#cd /usr/local/mysql
#chown -R mysql:mysql  /usr/local/mysql
#./scripts/mysql_install_db --user=mysql  -datadir=/data/mysql
#cp support-files/my-default.cnf /etc/my.cnf
#cp support-files/mysql.server /etc/init.d/mysqld
#bin/mysqld_safe --user=mysql &
#/etc/init.d/mysqld start



先简单将mysql设置如下:
cd /usr/local/mysql
chown -R mysql:mysql  /usr/local/mysql
./scripts/mysql_install_db --user=mysql  -datadir=/data/mysql
cp support-files/my-default.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
/usr/local/mysql/bin/mysqld_safe --user=mysql &

配置文件my.cnf配置如下:
socket = /data/mysql/mysql.sock
basedir = /usr/local/mysql
datadir = /data/mysql

进入mysql设置:
mysql -uroot -S /data/mysql/mysql.sock
select user,host,password from mysql.user; 默认的root是空密码,有两个没用户的。
UPDATE `user` SET `password`=PASSWORD('xxxx') WHERE `User`='root';
delete from mysql where user='';
flush privileges;

mysql配置完成,两个环境都是由php操作mysql,这个并无差别。

2: 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
#!/bin/sh
LANG=C

if [ -d "/usr/local/nginx/" ];then
    echo "nginx is install"
    exit 1
else
    echo "nginx in not install"
fi

my_gcc=`rpm -qa gcc`
if [[ -n "$my_gcc" ]];then
    echo "$my_gcc"
else
    yum -y install gcc
fi

my_gcc_c=`rpm -qa gcc-c++`
if [[ -n "$my_gcc_c" ]];then
    echo "$my_gcc_c"
else
    yum -y install gcc-c++
fi

my_make=`rpm -qa make`
if [[ -n "$my_make" ]];then
    echo "$my_make"
else
    yum -y install make
fi

my_tar=`rpm -qa tar`
if [[ -n "$my_tar" ]];then
    echo "$my_tar"
else
    yum -y install tar
fi

my_pcre=`rpm -qa pcre`
if [[ -n "$my_pcre" ]];then
    echo "$my_pcre"
else
    yum -y install pcre
fi

my_pcre_devel=`rpm -qa pcre-devel`
if [[ -n "$my_pcre_devel" ]];then
    echo "$my_pcre_devel"
else
    yum -y install pcre-devel
fi

my_zlib=`rpm -qa zlib`
if [[ -n "$my_zlib" ]];then
    echo "$my_zlib"
else
    yum -y install zlib
fi

my_zlib_devel=`rpm -qa zlib-devel`
if [[ -n "$my_zlib_devel" ]];then
    echo "$my_zlib_devel"
else
    yum -y install zlib-devel
fi

my_openssl=`rpm -qa openssl`
if [[ -n "$my_openssl" ]];then
    echo "$my_openssl"
else
    yum -y install openssl
fi

my_openssl_devel=`rpm -qa openssl-devel`
if [[ -n "$my_openssl_devel" ]];then
    echo "$my_openssl_devel"
else
    yum -y install openssl-devel
fi

cd /usr/local/src
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module
if [ $? -ne 0 ];then
    echo "configure error. exit 2"
    exit 2
fi
echo "*******************************************"
echo "configure success"
echo "*******************************************"
echo "sleep 5, and begin make and make install"
sleep 5
make
make install
echo "install nginx success. nginx is in /usr/local/nginx"
exit 0



nginx操作如下:

    /usr/local/nginx/sbin/nginx  -t 检查配置
    /usr/local/nginx/sbin/nginx
    /usr/local/nginx/sbin/nginx  -s stop

3: 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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#!/bin/sh
LANG=C

if [ -d "/usr/local/apr/" ];then
    echo "apr is install"
    exit 1
else
    echo "apr in not install"
fi

if [ -d "/usr/local/apr-util/" ];then
    echo "apr_util is install"
    exit 1
else
    echo "apr-util in not install"
fi

if [ -d "/usr/local/apache2/" ];then
    echo "apache2 is install"
    exit 1
else
    echo "apache2 in not install"
fi

my_gcc=`rpm -qa gcc`
if [[ -n "$my_gcc" ]];then
    echo "$my_gcc"
else
    yum -y install gcc
fi

my_make=`rpm -qa make`
if [[ -n "$my_make" ]];then
    echo "$my_make"
else
    yum -y install make
fi

my_tar=`rpm -qa tar`
if [[ -n "$my_tar" ]];then
    echo "$my_tar"
else
    yum -y install tar
fi

my_libtool=`rpm -qa libtool`
if [[ -n "$my_libtool" ]];then
    echo "$my_libtool"
else
    yum -y install libtool
fi

my_pcre=`rpm -qa pcre`
if [[ -n "$my_pcre" ]];then
    echo "$my_pcre"
else
    yum -y install pcre
fi

my_pcre_devel=`rpm -qa pcre-devel`
if [[ -n "$my_pcre_devel" ]];then
    echo "$my_pcre_devel"
else
    yum -y install pcre-devel
fi

my_zlib=`rpm -qa zlib`
if [[ -n "$my_zlib" ]];then
    echo "$my_zlib"
else
    yum -y install zlib
fi

my_zlib_devel=`rpm -qa zlib-devel`
if [[ -n "$my_zlib_devel" ]];then
    echo "$my_zlib_devel"
else
    yum -y install zlib-devel
fi

my_openssl=`rpm -qa openssl`
if [[ -n "$my_openssl" ]];then
    echo "$my_openssl"
else
    yum -y install openssl
fi

my_openssl_devel=`rpm -qa openssl-devel`
if [[ -n "$my_openssl_devel" ]];then
    echo "$my_openssl_devel"
else
    yum -y install openssl-devel
fi

cd /usr/local/src
tar -zxvf apr-1.5.2.tar.gz
cd apr-1.5.2
./configure --prefix=/usr/local/apr
if [ $? -ne 0 ];then
    echo "configure error. exit 2"
    exit 2
fi
echo "*******************************************"
echo "configure success"
echo "*******************************************"
echo "sleep 5, and begin make and make install"
sleep 5
make
make install
echo "install apr success. apr is in /usr/local/apr"


cd /usr/local/src
tar -zxvf apr-util-1.5.4.tar.gz
cd apr-util-1.5.4
./configure --with-apr=/usr/local/apr --prefix=/usr/local/apr-util
if [ $? -ne 0 ];then
    echo "configure error. exit 2"
    exit 2
fi
echo "*******************************************"
echo "configure success"
echo "*******************************************"
echo "sleep 5, and begin make and make install"
sleep 5
make
make install
echo "install apr-util success. apr-util is in /usr/local/apr-util"

cd /usr/local/src
tar -zxvf httpd-2.4.18.tar.gz
cd httpd-2.4.18
./configure --prefix=/usr/local/apache2 --enable-rewrite --enable-so --enable-headers --enable-expires --with-mpm=worker --enable-modules=most --enable-deflate --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
if [ $? -ne 0 ];then
    echo "configure error. exit 2"
    exit 2
fi
echo "*******************************************"
echo "configure success"
echo "*******************************************"
echo "sleep 5, and begin make and make install"
sleep 5
make
make install
echo "install apache2 success. apache2 is in /usr/local/apache2"



apache的启动与关闭:
    /usr/local/apache2/bin/apachectl -k start
    /usr/local/apache2/bin/apachectl -k stop


4.1: lnmp下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
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
#!/bin/sh
LANG=C

if [ -d "/usr/local/php" ];then
    echo "php is install"
    exit 1
else
    echo "php in not install"
fi

my_epel=`rpm -qa epel-release`
if [[ -n "$my_epel" ]];then
    echo "$my_epel"
else
    yum -y install epel-release
    sed -i 's/^#baseurl/baseurl/;s/^mirrorlist/#mirrorlist/' /etc/yum.repos.d/epel.repo
fi

my_gcc=`rpm -qa gcc`
if [[ -n "$my_gcc" ]];then
    echo "$my_gcc"
else
    yum -y install gcc
fi

my_gcc_c=`rpm -qa gcc-c++`
if [[ -n "$my_gcc_c" ]];then
    echo "$my_gcc_c"
else
    yum -y install gcc-c++
fi

my_make=`rpm -qa make`
if [[ -n "$my_make" ]];then
    echo "$my_make"
else
    yum -y install make
fi

my_tar=`rpm -qa tar`
if [[ -n "$my_tar" ]];then
    echo "$my_tar"
else
    yum -y install tar
fi

my_pcre=`rpm -qa pcre`
if [[ -n "$my_pcre" ]];then
    echo "$my_pcre"
else
    yum -y install pcre
fi

my_pcre_devel=`rpm -qa pcre-devel`
if [[ -n "$my_pcre_devel" ]];then
    echo "$my_pcre_devel"
else
    yum -y install pcre-devel
fi

my_zlib=`rpm -qa zlib`
if [[ -n "$my_zlib" ]];then
    echo "$my_zlib"
else
    yum -y install zlib
fi

my_zlib_devel=`rpm -qa zlib-devel`
if [[ -n "$my_zlib_devel" ]];then
    echo "$my_zlib_devel"
else
    yum -y install zlib-devel
fi

my_openssl=`rpm -qa openssl`
if [[ -n "$my_openssl" ]];then
    echo "$my_openssl"
else
    yum -y install openssl
fi

my_openssl_devel=`rpm -qa openssl-devel`
if [[ -n "$my_openssl_devel" ]];then
    echo "$my_openssl_devel"
else
    yum -y install openssl-devel
fi

my_libxml2=`rpm -qa libxml2`
if [[ -n "$my_libxml2" ]];then
    echo "$my_libxml2"
else
    yum -y install libxml2
fi

my_libxml2_devel=`rpm -qa libxml2-devel`
if [[ -n "$my_libxml2_devel" ]];then
    echo "$my_libxml2_devel"
else
    yum -y install libxml2-devel
fi

my_libcurl=`rpm -qa libcurl`
if [[ -n "$my_libcurl" ]];then
    echo "$my_libcurl"
else
    yum -y install libcurl
fi

my_libcurl_devel=`rpm -qa libcurl-devel`
if [[ -n "$my_libcurl_devel" ]];then
    echo "$my_libcurl_devel"
else
    yum -y install libcurl-devel
fi

my_libjpeg_devel=`rpm -qa libjpeg*|grep devel`
if [[ -n "$my_libjpeg_devel" ]];then
    echo "$my_libjpeg_devel"
else
    yum install libjpeg libjpeg-devel -y
fi

my_libpng=`rpm -qa libpng`
if [[ -n "$my_libpng" ]];then
    echo "$my_libpng"
else
    yum -y install libpng
fi

my_libpng_devel=`rpm -qa libpng-devel`
if [[ -n "$my_libpng_devel" ]];then
    echo "$my_libpng_devel"
else
    yum -y install libpng-devel
fi

my_freetype=`rpm -qa freetype`
if [[ -n "$my_freetype" ]];then
    echo "$my_freetype"
else
    yum -y install freetype
fi

my_freetype_devel=`rpm -qa freetype-devel`
if [[ -n "$my_freetype_devel" ]];then
    echo "$my_freetype_devel"
else
    yum -y install freetype-devel
fi

my_openldap=`rpm -qa openldap`
if [[ -n "$my_openldap" ]];then
    echo "$my_openldap"
else
    yum -y install openldap
fi

my_openldap_devel=`rpm -qa openldap-devel`
if [[ -n "$my_openldap_devel" ]];then
    echo "$my_openldap_devel"
else
    yum -y install openldap-devel
fi

my_libmcrypt=`rpm -qa libmcrypt`
if [[ -n "$my_libmcrypt" ]];then
    echo "$my_libmcrypt"
else
    yum -y install libmcrypt
fi

my_libmcrypt_devel=`rpm -qa libmcrypt-devel`
if [[ -n "$my_libmcrypt_devel" ]];then
    echo "$my_libmcrypt_devel"
else
    yum -y install libmcrypt-devel
fi

testldap=`ls -al /usr/lib/libldap*`
if [[ -n "$testldap" ]];then
    echo "$testldap"
else
    cp /usr/lib64/libldap* /usr/lib/
fi


cd /usr/local/src/
tar -zxvf php-5.6.17.tar.gz
cd php-5.6.17
./configure  --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --enable-fpm
#--with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/ --with-mysqli=/usr/local/mysql/bin/mysql_config
if [ $? -ne 0 ];then
    echo "configure error. exit 2"
    exit 2
fi
echo "*******************************************"
echo "configure success"
echo "*******************************************"
echo "sleep 5, and begin make and make install"
sleep 5
make
make install
echo "install php success. php in /usr/local/php."



lnmp环境下php是使用php-fpm,lnmp环境最后配置的操作步骤如下:
    cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
    注意下php-fpm.conf的listen配置,后续要跟nginx的对得上:

    listen = 127.0.0.1:9000

    nginx的配置如下:
        location ~ \.php$ {
            root           html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root/$fastcgi_script_name;
            include        fastcgi_params;
        }

    测试php:

        vi /usr/local/nginx/html/mytest.php
            <?php
                echo "mytest";
            ?>
        访问http://localhost:8809/mytest.php,测试使用的是虚拟机,url需要自行测试。

    测试php的mysql模块:
        $link=mysql_connect('127.0.0.1','root','zwh@654');
        if(!$link){
                echo "unlink to mysql";
        }else{
                echo "mysql is link success";
        }

    QQ截图20160516092936.png

    lnmp配置完成。


4.2 lamp下php的安装,安装脚本只需要把--enable-fpm改为--with-apxs2=/usr/local/apache2/bin/apxs,然后安装即可。
    注意,如果机器有安装fpm,把安装的路径和解压缩的文件删除掉或者备份到其它地方。不然可能会安装不成功。

    lamp的最后配置如下:

        1: apache上配置支持php,vi /usr/local/apache2/conf/httpd.conf
            AddType application/x-httpd-php .php
            LoadModule php5_module        modules/libphp5.so

            配置完重启apache。/usr/local/apache2/bin/apachectl -k restart

        测试如上。


        lamp搭建完成。

注:脚本中有一些软件需要下载,请到官网下载源码包,或者直接谷歌download 对应的文件名下载即可。


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-217564-1-1.html 上篇帖子: LAMP编译安装 下篇帖子: centos操作系统搭建Lamp环境(apache php mysql)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表