前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >linux服务器下LNMP安装与配置方法

linux服务器下LNMP安装与配置方法

原创
作者头像
用户9042463
修改2021-10-13 18:10:46
2.8K0
修改2021-10-13 18:10:46
举报
文章被收录于专栏:运维技巧分享

现在很多朋友都选择了linux服务器下配置LNMP(linux+nginx+mysql+php),这里分享下LNMP安装与配置方法,需要的朋友可以参考下

Nginx与apache、lighttp性能综合对比,如下图:

注意:关闭rpm默认安装的apache和mysql

1.准备php函数的rpm包

yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers 2.准备lnmp其他的源代码包

代码语言:javascript
复制
 	wget http://blog.s135.com/soft/linux/nginx_php/nginx/nginx-0.8.46.tar.gz
 	wget http://blog.s135.com/soft/linux/nginx_php/php/php-5.2.14.tar.gz
 	wget http://blog.s135.com/soft/linux/nginx_php/phpfpm/php-5.2.14-fpm-0.5.14.diff.gz
 	wget http://blog.s135.com/soft/linux/nginx_php/mysql/mysql-5.5.3-m3.tar.gz
 	wget http://blog.s135.com/soft/linux/nginx_php/libiconv/libiconv-1.13.1.tar.gz
 	wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/libmcrypt-2.5.8.tar.gz
 	wget http://blog.s135.com/soft/linux/nginx_php/mcrypt/mcrypt-2.6.8.tar.gz
 	wget http://blog.s135.com/soft/linux/nginx_php/memcache/memcache-2.2.5.tgz
 	wget http://blog.s135.com/soft/linux/nginx_php/mhash/mhash-0.9.9.9.tar.gz
 	wget http://blog.s135.com/soft/linux/nginx_php/pcre/pcre-8.10.tar.gz
 	wget http://blog.s135.com/soft/linux/nginx_php/eaccelerator/eaccelerator-0.9.6.1.tar.bz2
 	wget http://blog.s135.com/soft/linux/nginx_php/pdo/PDO_MYSQL-1.0.2.tgz
 	wget http://blog.s135.com/soft/linux/nginx_php/imagick/ImageMagick.tar.gz
 	wget http://blog.s135.com/soft/linux/nginx_php/imagick/imagick-2.3.0.tgz

3.安装php-5.2.14源代码包所需要的函数支持包

代码如下:

代码语言:javascript
复制
 
 	tar zxvf libiconv-1.13.1.tar.gz
 	cd libiconv-1.13.1/
 	./configure --prefix=/usr/local
 	make
 	make install
 	cd ../

(libiconv库为需要做转换的应用提供了一个iconv()的函数,以实现一个字符编码到另一个字符编码的转换)

代码如下:

代码语言:javascript
复制
 
 	tar zxvf libmcrypt-2.5.8.tar.gz
 	cd libmcrypt-2.5.8/
 	./configure
 	make
 	make install
 	cd libltdl/
 	./configure --enable-ltdl-install
 	make
 	make install
 	cd ../../

(libmcrypt是加密算法扩展库。支持DES, 3DES, RIJNDAEL, Twofish, IDEA, GOST, CAST-256, ARCFOUR, SERPENT, SAFER+等算法。)

代码如下:

代码语言:javascript
复制
 
 	tar zxvf mhash-0.9.9.9.tar.gz
 	cd mhash-0.9.9.9/
 	./configure
 	make
 	make install
 	cd ../
 	(加密算法支持)
 	ln -s /usr/local/lib/libmcrypt.la /usr/lib/libmcrypt.la
 	ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.so
 	ln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4
 	ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8
 	ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.a
 	ln -s /usr/local/lib/libmhash.la /usr/lib/libmhash.la
 	ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.so
 	ln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2
 	ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.1
 	ln -s /usr/local/bin/libmcrypt-config /usr/bin/libmcrypt-config
 	tar zxvf mcrypt-2.6.8.tar.gz
 	cd mcrypt-2.6.8/
 	./configure
 	make
 	make install
 	cd ../

4. 编译安装MySQL 5.5.3-m3

代码如下:

代码语言:javascript
复制
 
 	groupadd mysql
 	useradd -g mysql mysql
 
 	tar zxvf mysql-5.5.3-m3.tar.gz
 	cd mysql-5.5.3-m3
 	./configure --prefix=/usr/local/mysql --without-debug  --enable-thread-safe-client --with-pthread --enable-assembler  --enable-profiling --with-mysqld-ldflags=-all-static  --with-client-ldflags=-all-static --with-extra-charsets=all  --with-plugins=all --with-mysqld-user=mysql --without-embedded-server  --with-server-suffix=-community --with-unix-socket-path=/tmp/mysql.sock
 	Make
 	#编译
 	Make install
 	#安装
 	Cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
 	#准备mysql配置文件
 	Vi /etc/my.cnf
 	[client]
 	default-character-set=utf8
 	#修改客户端和连接字符集
 	[mysqld]
 	character-set-server=utf8
 	#修改服务器和数据库字符集
 	collation-server = utf8_general_ci
 	#修改服务器校验字符集                   登陆mysql后可以\s查看字符集
 
 	Setfacl -m u:mysql:rwx -R /usr/local/mysql
 	Setfacl -m d:u:mysql:rwx -R /usr/local/mysql
 	#设置权限
 	/usr/local/mysql/bin/mysql_install_db --user=mysql
 	#安装mysql和test数据库
 	/usr/local/mysql/bin/mysqld_safe --user=mysql &
 	#启动mysql服务
 	/usr/local/mysql/bin/mysqladmin -uroot password  123
 	#修改mysql登录密码为123
 	/usr/local/mysql/bin/mysql -uroot -p123
 	#用mysql登录

5. 编译安装PHP(FastCGI模式。使用fastCGI管理php,加快php解析速度)

代码如下:

代码语言:javascript
复制
 
 	tar zxvf php-5.2.14.tar.gz
 	gzip -cd php-5.2.14-fpm-0.5.14.diff.gz | patch -d php-5.2.14 -p1
 	#-p  1    是数字
 	#解压并打补丁,让php支持fpm来方便管理php-cgi进程(使用php-fpm管理fastCGI)
 	# gzip   -c  保留源文件   -d  解压
 	cd php-5.2.14/
 	./configure --prefix=/usr/local/php  --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql  --with-mysqli=/usr/local/mysql/bin/mysql_config  --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir  --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath  --enable-shmop --enable-sysvsem --enable-inline-optimization  --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi  --enable-fpm --enable-force-cgi-redirect --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
 	make ZEND_EXTRA_LIBS='-liconv'
 	#编译过程设定变量(编译过程需要)
 	make install
 	cp /lnmp/php-5.2.14/php.ini-dist  /usr/local/php/etc/php.ini
 	cd ../

6.准备编译安装PHP5扩展模块

代码如下:

代码语言:javascript
复制
 
 	tar zxvf memcache-2.2.5.tgz
 	cd memcache-2.2.5/
 	/usr/local/php/bin/phpize
 	./configure --with-php-config=/usr/local/php/bin/php-config
 	make
 	make install
 	cd ../
 	tar jxvf eaccelerator-0.9.6.1.tar.bz2
 	cd eaccelerator-0.9.6.1/
 	/usr/local/php/bin/phpize
 	./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-config
 	make
 	make install
 	cd ../
 	(eAccelerator是一个自由开放源码php加速器,优化和动态内容缓存,提高了php脚本的缓存性能,使得PHP脚本在编译的状态下,对服务器的开销几乎完全消除。 它还有对脚本起优化作用,以加快其执行效率。使您的PHP程序代码执效率能提高1-10倍)
 	tar zxvf PDO_MYSQL-1.0.2.tgz
 	cd PDO_MYSQL-1.0.2/
 	/usr/local/php/bin/phpize
 	./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
 	make
 	make install
 	cd ../
 	tar zxvf ImageMagick.tar.gz
 	cd ImageMagick-6.5.1-2/
 	./configure
 	make
 	make install
 	cd ../
 	(ImageMagick是一套功能强大、稳定而且免费的工具集和开发包,可以用来读、写和处理超过89种基本格式的图片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式)
 	tar zxvf imagick-2.3.0.tgz
 	cd imagick-2.3.0/
 	/usr/local/php/bin/phpize
 	./configure --with-php-config=/usr/local/php/bin/php-config
 	make
 	make install
 	cd ../

7. 修改php.ini文件,让php模块生效

代码如下:

代码语言:javascript
复制
 
 	vi /usr/local/php/etc/php.ini
 	extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
 
 	手工添加
 	extension = "memcache.so"
 	extension = "pdo_mysql.so"
 	extension = "imagick.so"
 	再查找output_buffering = Off
 	修改为output_buffering = On
 	再查找  ; cgi.fix_pathinfo=0
 	修改为cgi.fix_pathinfo=0,防止Nginx文件类型错误解析漏洞

8. 在php.ini中配置eAccelerator加速PHP

代码如下:

代码语言:javascript
复制
 
 	mkdir -p /usr/local/eaccelerator_cache
 	#准备eaccelerator缓存目录
 
 	vi /usr/local/php/etc/php.ini
 	[eaccelerator]
 	zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eaccelerator.so"
 	eaccelerator.shm_size="64"
 	eaccelerator.cache_dir="/usr/local/eaccelerator_cache"
 	eaccelerator.enable="1"
 	eaccelerator.optimizer="1"
 	eaccelerator.check_mtime="1"
 	eaccelerator.debug="0"
 	eaccelerator.filter=""
 	eaccelerator.shm_max="0"
 	eaccelerator.shm_ttl="3600"
 	eaccelerator.shm_prune_period="3600"
 	eaccelerator.shm_only="0"
 	eaccelerator.compress="1"
 	eaccelerator.compress_level="9"

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档