前段时间一直在找一个快速部署lnmp环境的方法,也没找着,就自己写了一个,结合网上的大神们的。我的方法是脚本结合源码包,很多依赖裤都是yum安装的,这都在脚本里面,需要的源码包我都下载好了,打包成压缩包,源码包+lnmp.sh文件,上传到百度云了,需要的可以download下来:
压缩包地址:
链接:http://pan.baidu.com/s/1jHCP6iM 密码:5q4c
在这里需要说明的是,脚本下载之后,打开的时候用notepad++打开,然后全选复制之后,自己在linux下,vi lnmp.sh一个新文件,把内容粘贴进去,这样就不会报windows到Linux的错误
先上传一下脚本:
1 #!/bin/bash
2 # by huowuzhao 2017.1.9
3 yum -y install gcc gcc-c++
4 if [ ! -d /home/tools ]
5 then
6 mkdir /home/tools -p
7 fi
8 cd /home/tools
9 PING=`ping -c 1 www.baidu.com |grep ttl=|wc -l`
10 if [ "$PING" -eq 0 ]
11 then
12 echo "Network does not work"
13 exit 1
14 fi
15 if [ -e /home/tools/pcre-8.39.tar.gz ]
16 then
17 tar xf pcre-8.39.tar.gz
18 else
19 echo "no file /home/tools/pcre-8.39.tar.gz"
20 fi
21 cd pcre-8.39 &&\
22 ./configure
23 if [ $? -ne 0 ]
24 then
25 echo "pcre configure is false"
26 exit 1
27 fi
28 make && make install
29 if [ $? -ne 0 ]
30 then
31 echo "pcre make install is false"
32 exit 1
33 fi
34 cd ..
35 RPM=`rpm -qa|grep "openssl-"|wc -l`
36 if [ $RPM -ne 2 ]
37 then
38 yum -y install openssl openssl-devel
39 else
40 echo "yum install openssl openssl-devel is error"
41 exit 1
42 fi
43 cd /home/tools
44 if [ ! -e nginx-1.8.0.tar.gz ]
45 then
46 echo " nginx-1.8.0.tar.gz is false"
47 exit 1
48 fi
49 tar xf nginx-1.8.0.tar.gz
50 cd nginx-1.8.0
51 NGINXUSER=`cat /etc/passwd |grep nginx|wc -l`
52 if [ "$NGINXUSER" -eq 0 ]
53 then
54 useradd nginx -s /sbin/nologin -M
55 fi
56 ./configure --user=nginx --group=nginx --prefix=/home/nginx-1.8.0 --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module
57 if [ $? -eq 0 ]
58 then
59 make
60 else
61 echo "nginx configure is error"
62 exit 1
63 fi
64 if [ $? -eq 0 ]
65 then
66 make install
67 else
68 echo "nginx make is error"
69 exit 1
70 fi
71 if [ $? -ne 0 ]
72 then
73 echo "nginx make install is error"
74 exit 1
75 fi
76 cd ..
77 if [ -d /home/nginx-1.8.0/ ]
78 then
79 ln -s /home/nginx-1.8.0 /home/nginx
80 else
81 echo "no directory /home/nginx-1.8.0/"
82 exit 1
83 fi
84 if [ -f /etc/ld.so.conf ]
85 then
86 echo "/usr/local/lib/" >>/etc/ld.so.conf
87 else
88 echo "no file /etc/ld.so.conf"
89 exit 1
90 fi
91 if [ -d /lib64 ]
92 then
93 ln -s /usr/local/lib/libpcre.so.1 /lib64
94 else
95 echo "no directory /lib64"
96 exit 1
97 fi
98 /home/nginx/sbin/nginx -t
99 if [ $? -eq 0 ]
100 then
101 echo "nginx is ok"
102 else
103 echo "nginx is false"
104 exit 1
105 fi
106 /home/nginx/sbin/nginx
107 chown -R nginx.nginx /home/nginx/*
108 clear
109 echo "==================nginx install is all finish=================="
110 sleep 2
111 cd /home/tools
112 echo "=====================starting cmake install======================="
113 tar xf cmake-3.7.1.tar.gz
114 cd cmake-3.7.1
115 ./configure
116 if [ $? -ne 0 ]
117 then
118 echo "cmake configure is error"
119 exit 1
120 fi
121 gmake
122 if [ $? -ne 0 ]
123 then
124 echo " cmake gmake is error"
125 exit 1
126 fi
127 gmake install
128 if [ $? -ne 0 ]
129 then
130 echo " cmake gmake install is error"
131 exit 1
132 fi
133 cd ../
134 PING=`ping -c 1 www.baidu.com |grep ttl=|wc -l`
135 if [ "$PING" -ne 1 ]
136 then
137 echo "Network does not work"
138 exit 1
139 fi
140 echo "=====================starting ncurses-devel install======================="
141 RPM=`rpm -qa |grep ncurses-devel |wc -l`
142 if [ $RPM -ne 1 ]
143 then
144 yum install ncurses-devel -y
145 fi
146 echo "=====================next is install mysql...======================="
147 cd /home/tools/
148 if [ -e /home/tools/mysql-5.6.34.tar.gz ]
149 then
150 tar zxf mysql-5.6.34.tar.gz
151 else
152 echo "no file /home/tools/mysql-5.6.34.tar.gz"
153 fi
154 NGINXUSER=`cat /etc/passwd |grep mysql|wc -l`
155 if [ "$NGINXUSER" -eq 0 ]
156 then
157 useradd mysql -s /sbin/nologin -M
158 fi
159 cd mysql-5.6.34
160 cmake . -DCMAKE_INSTALL_PREFIX=/home/mysql-5.6.34 \
161 -DMYSQL_DATADIR=/home/mysql-5.6.34/data \
162 -DMYSQL_UNIX_ADDR=/home/mysql-5.6.34/tmp/mysql.sock \
163 -DDEFAULT_CHARSET=utf8 \
164 -DDEFAULT_COLLATION=utf8_general_ci \
165 -DEXTRA_CHARSETS=gbk,gb2312,utf8,ascii \
166 -DENABLED_LOCAL_INFILE=ON \
167 -DWITH_INNOBASE_STORAGE_ENGINE=1 \
168 -DWITH_FEDERATED_STORAGE_ENGINE=1 \
169 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
170 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 \
171 -DWITH_FAST_MUTEXES=1 \
172 -DWITH_ZLIB=bundled \
173 -DENABLED_LOCAL_INFILE=1 \
174 -DWITH_READLINE=1 \
175 -DWITH_EMBEDDED_SERVER=1 \
176 -DWITH_DEBUG=0
177 if [ $? -ne 0 ]
178 then
179 echo "mysql cmake is error"
180 exit 1
181 fi
182 make
183 if [ $? -ne 0 ]
184 then
185 echo "mysql make is error"
186 exit 1
187 fi
188 make install
189 if [ $? -ne 0 ]
190 then
191 echo "mysql make install is error"
192 exit 1
193 fi
194 echo "=====================configuration mysql======================="
195 if [ -d /home/mysql-5.6.34 ]
196 then
197 ln -s /home/mysql-5.6.34/ /home/mysql
198 else
199 echo "no directory /home/mysql-5.6.34/"
200 exit 1
201 fi
202 cd /home/mysql
203 cp /home/tools/my.cnf /etc/my.cnf
204 chown -R mysql.mysql /home/mysql/
205 chown -R mysql.mysql /tmp
206 echo "=====================mysql is INIT======================="
207 /home/mysql/scripts/mysql_install_db --basedir=/home/mysql --datadir=/home/mysql/data --user=mysql
208 INIT=`/home/mysql/scripts/mysql_install_db --basedir=/home/mysql --datadir=/home/mysql/data --user=mysql|grep OK|wc -l`
209 if [ "$INIT" -eq 2 ]
210 then
211 echo "=====================mysql INIT is ok====================="
212 fi
213 if [ -f /home/mysql/support-files/mysql.server ]
214 then
215 cp /home/mysql/support-files/mysql.server /etc/init.d/mysqld
216 else
217 echo "no file /home/mysql/support-files/mysql.server"
218 fi
219 chmod +x /etc/init.d/mysqld
220 /etc/init.d/mysqld start
221 echo 'PATH=/home/mysql/bin/:$PATH' >>/etc/profile
222 . /etc/profile
223 chkconfig mysqld on
224 mysqladmin -u root password '123456'
225 MYSQLLOGIN=`mysql -uroot -p123456 -e "select version();"|wc -l`
226 if [ $MYSQLLOGIN -ne 0 ]
227 then
228 echo "mysql is installed and mysql login is ok..."
229 else
230 echo "mysql don't login..."
231 fi
232 clear
233 echo "Pls input user@localhost and password login!!!!!"
234 sleep 1
235 clear
236 echo "==============other installation package=============="
237 cd /home/tools/
238 yum install zlib libxml libjpeg freetype libpng gd curl libiconv zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel curl-devel libtool-ltdl-devel -y
239 yum install libxslt libxslt-devel -y
240 YUM=`rpm -qa zlib-devel libxml2-devel libjpeg-devel freetype-devel libpng-devel gd-devel|wc -l`
241 if [ $YUM -lt 3 ]
242 then
243 echo "yum bag is error,bag is lack..."
244 exit 1
245 fi
246 if [ ! -e libiconv-1.9.2.tar.gz ]
247 then
248 echo "no gz libiconv-1.9.2.tar.gz"
249 exit 1
250 fi
251 tar zxf libiconv-1.9.2.tar.gz
252 cd libiconv-1.9.2
253 ./configure --prefix=/usr/local/libiconv
254 if [ $? -ne 0 ]
255 then
256 echo "libiconv-1.9.2 configure is error"
257 exit 1
258 fi
259 make&&make install
260 if [ $? -ne 0 ]
261 then
262 echo "libiconv-1.9.2 make&&make install is error"
263 exit 1
264 fi
265 cd ../
266 if [ ! -e libmcrypt-2.5.8.tar.gz ]
267 then
268 echo "no gz libmcrypt-2.5.8.tar.gz"
269 exit 1
270 fi
271 tar zxf libmcrypt-2.5.8.tar.gz
272 cd libmcrypt-2.5.8
273 ./configure
274 if [ $? -ne 0 ]
275 then
276 echo "libmcrypt-2.5.8 configure is error"
277 exit 1
278 fi
279 make&&make install
280 if [ $? -ne 0 ]
281 then
282 echo "libmcrypt-2.5.8 make&&make install is error"
283 exit 1
284 fi
285 sleep 2
286 /sbin/ldconfig
287 cd libltdl/
288 ./configure --enable-ltdl-install
289 if [ $? -ne 0 ]
290 then
291 echo "libmcrypt-2.5.8/libltdl configure is error"
292 exit 1
293 fi
294 make&&make install
295 if [ $? -ne 0 ]
296 then
297 echo "libmcrypt-2.5.8/libltdl make&&make install is error"
298 exit 1
299 fi
300 cd ../../
301 if [ ! -e mhash-0.9.9.9.tar.gz ]
302 then
303 echo "no gz mhash-0.9.9.9.tar.gz"
304 exit 1
305 fi
306 tar zxf mhash-0.9.9.9.tar.gz
307 cd mhash-0.9.9.9/
308 ./configure
309 if [ $? -ne 0 ]
310 then
311 echo "mhash-0.9.9.9 configure is error"
312 exit 1
313 fi
314 make&&make install
315 if [ $? -ne 0 ]
316 then
317 echo "mhash-0.9.9.9 make&&make install is error"
318 exit 1
319 fi
320 sleep 2
321 cd ../
322 rm -f /usr/lib64/libmcrypt.*
323 rm -f /usr/lib64/libmhash*
324 ln -s /usr/local/lib64/libmcrypt.la /usr/lib64/libmcrypt.la
325 ln -s /usr/local/lib64/libmcrypt.so /usr/lib64/libmcrypt.so
326 ln -s /usr/local/lib64/libmcrypt.so.4 /usr/lib64/libmcrypt.so.4
327 ln -s /usr/local/lib64/libmcrypt.so.4.4.8 /usr/lib64/libmcrypt.so.4.4.8
328 ln -s /usr/local/lib64/libmhash.a /usr/lib64/libmhash.a
329 ln -s /usr/local/lib64/libmhash.la /usr/lib64/libmhash.la
330 ln -s /usr/local/lib64/libmhash.so /usr/lib64/libmhash.so
331 ln -s /usr/local/lib64/libmhash.so.2 /usr/lib64/libmhash.so.2
332 ln -s /usr/local/lib64/libmhash.so.2.0.1 /usr/lib64/libmhash.so.2.0.1
333 ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
334 if [ ! -e mcrypt-2.6.8.tar.gz ]
335 then
336 echo "no gz mcrypt-2.6.8.tar.gz"
337 exit 1
338 fi
339 tar zxf mcrypt-2.6.8.tar.gz
340 cd mcrypt-2.6.8/
341 /sbin/ldconfig
342 ./configure LD_LIBRARY_PATH=/usr/local/lib
343 if [ $? -ne 0 ]
344 then
345 echo "mcrypt-2.6.8 configure is error"
346 exit 1
347 fi
348 make&&make install
349 if [ $? -ne 0 ]
350 then
351 echo "mcrypt-2.6.8 make&&make install is error"
352 exit 1
353 fi
354 cd ../
355 clear
356 echo "==============other installation package is ok=============="
357 sleep 2
358 echo "==================starting install php===================="
359 if [ ! -e php-5.6.11.tar.gz ]
360 then
361 echo "no gz php-5.6.11.tar.gz"
362 exit 1
363 fi
364 tar xf php-5.6.11.tar.gz
365 cd php-5.6.11
366 echo "/home/mysql-5.6.25/lib/" >>/etc/ld.so.conf
367 ldconfig
368 ./configure \
369 --prefix=/home/php-5.6.11 \
370 --with-mysql=/home/mysql \
371 --with-iconv-dir=/usr/local/libiconv \
372 --with-freetype-dir \
373 --with-jpeg-dir \
374 --with-png-dir \
375 --with-zlib \
376 --with-libxml-dir=/usr \
377 --enable-xml \
378 --disable-rpath \
379 --enable-bcmath \
380 --enable-shmop \
381 --enable-sysvsem \
382 --enable-inline-optimization \
383 --with-curl \
384 --enable-mbregex \
385 --enable-fpm \
386 --enable-mbstring \
387 --with-mcrypt \
388 --with-gd \
389 --enable-gd-native-ttf \
390 --with-openssl \
391 --with-mhash \
392 --enable-pcntl \
393 --enable-sockets \
394 --with-xmlrpc \
395 --enable-zip \
396 --enable-soap \
397 --enable-short-tags \
398 --enable-static \
399 --with-xsl \
400 --with-fpm-user=nginx \
401 --with-fpm-group=nginx \
402 --enable-ftp
403 if [ $? -ne 0 ]
404 then
405 echo "php-5.6.11.tar.gz configure is error"
406 exit 1
407 fi
408 make
409 if [ $? -eq 0 ]
410 then
411 make install
412 else
413 echo "make is error"
414 exit 1
415 fi
416 ln -s /home/php-5.6.11/ /home/php
417 cp php.ini-production /home/php/lib/php.ini
418 cd /home/php/etc/
419 cp /home/tools/php-fpm.conf ./
420 CONF=`ls php-fpm.conf|wc -l`
421 if [ $CONF -ne 1 ]
422 then
423 echo "no file /home/php/etc/php-fpm.conf"
424 exit 1
425 fi
426 clear
427 echo "=====================php install is ok========================"
428 sleep 1
429 /home/php/sbin/php-fpm
430 PHPSTART=`ss -luntp |grep php-fpm|wc -l`
431 if [ $PHPSTART -eq 0 ]
432 then
433 echo "php-fpm is stopped..."
434 fi
435 clear
436 echo "===========lnmp all install is ok============="
437 echo "==============!!!!happy!!!!================"
438 echo " * * * * "
439 echo " * * * * * * "
440 echo " ***** * * * * "
441 echo " * * * * * * "
442 echo " * * * * * "
443 echo "==============!!!!happy!!!!================"
原文链接: https://www.cnblogs.com/pythonal/p/6265090.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/247387
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!