lnmp 环境,以及架构实现最小化安装思路

nginx安装:

Pcre,中文perl兼容正则表达式,安装pcre库为了使nginx支持http rewrite模块。

yum -y install pcre pcre-devel

yum -y install openssl openssl-devel

Openssl 安全套接层

yum -y install zlib-devel zlib

Zip 通用数据压缩  (老师没有做加载这个模块)(默认有)

useradd -s /sbin/nologin -M nginx

tar xf nginx-1.6.2.tar.gz

cd

./configure --user=nginx --prefix=/data/nginx-1.6.2 --with-http_stub_status_module --with-http_ssl_module

echo $?

Make && make install

ln -s /data/nginx-1.6.2/ /data/nginx

检查语法:

[[email protected] sbin]# ./nginx -t

nginx: the configuration file /data/nginx-1.6.2/conf/nginx.conf syntax is ok

nginx: configuration file /data/nginx-1.6.2/conf/nginx.conf test is successful

netstat -lntup | grep nginx

[[email protected] sbin]# curl 127.0.0.1

报错:

[[email protected] pcre-8.30]# /application/nginx/sbin/nginx 
nginx: [emerg] getpwnam("nginx") failed
[[email protected] pcre-8.30]#

原因:没有添加用户

Find / -name libpcre.so*

如果是yum安装的pcre,则不会出现找不到libpcre错误。

[[email protected] ~]# cat /etc/ld.so.conf

include ld.so.conf.d/*.conf

/opt/xs_0507/src/*.so

运行ldconfig更新高速缓冲区

将libxs.so  复制到 /usr/lib

缺少库文件。

lnmp平台不安装mysql。这样实现了,最小化安装。因为数据库是放在后端,让许多web 层去访问。

那么安装php 就要制定mysqlnd

linux 可以不装mysql,软件包都没有,这样的情况。

--with-mysql=mysqlnd

其他需要mysql相关包场景的php编译参数

--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \

php 安装:

./configure \
--prefix=/application/php5.3.27 \

--enable-mysqlnd \
--with-pdo-mysql=mysqlnd \

--with-mysql=/mysqlnd \
--with-iconv-dir=/usr/local/libiconv \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib \
--with-libxml-dir=/usr \
--enable-xml \
--disable-rpath \
--enable-safe-mode \
--enable-bcmath \
--enable-shmop \
--enable-sysvsem \
--enable-inline-optimization \
--with-curl \
--with-curlwrappers \
--enable-mbregex \
--enable-fpm \
--enable-mbstring \
--with-mcrypt \
--with-gd \
--enable-gd-native-ttf \
--with-openssl \
--with-mhash \
--enable-pcntl \
--enable-sockets \
--with-xmlrpc \
--enable-zip \
--enable-soap \
--enable-short-tags \
--enable-zend-multibyte \
--enable-static \
--with-xsl \
--with-fpm-user=nginx \
--with-fpm-group=nginx \
--enable-ftp

make && make install

Linux 安装选包

yum groupinstall "Compatibility libraries" "Base" "Development tools" -y
yum groupinstall "debugging Tools" "Dial-up Networking Support" -y

[[email protected] php-5.3.27]# cp php.ini-production /application/php/lib/php.ini

注释php.ini里面的参数

php报错:

精典错误

/libxmlrpc/encoding.c:101:undefined reference to ‘libiconv_close‘

collect2: ld returned 1 exit status

make:*** [sapi/fpm/php-fpm] Error 1

解决方法:

#make ZEND_EXTRA_LIBS=‘-liconv‘

错误一、编译php出错

/php-5.3.2/ext/fileinfo/libmagic/apprentice.c:147:internal compiler error:Segmentation fault

Please submit a full bug report,

with preprocessed source if appropriate.

See <URL:http://bugzilla.redhat.com/bugzilla> for instructions.

The bug is not reproducible,so it is likely a hardware or OS problem.

make:*** [ext/fileinfo/libmagic/apprentice.lo] Error 1

解决方法:内存大于1G即可,这是php5.3.2的一个bug

--------------------------------------------------------------------

错误二、重新构造configure文件出错

./buildconf --force

Forcing buildconf

buildconf:checking installation...

buildconf:autoconf version 2.59 (ok)

buildconf:Your version of autoconf likely contains buggy cache code.

Running vcsclean for you.

To avoid this,install autoconf-2.13.

Can‘t figure out your VCS, not cleaning.

解决方法:编译安装autoconf-2.13

再将autoconf-2.13的auotconf文件至/usr/local/autoconf

--------------------------------------------------------------------

错误三、编译时缺少库

configure: error: libXpm.(a|so) not found.

解决方法:yum install libXpm-devel

--------------------------------------------------------------------

错误四、编译时缺少gmp.h文件

configure: error: Unable to locate gmp.h

解决方法:yum install gmp-devel

--------------------------------------------------------------------

错误五

Configure: error: xml2-config not found. Please check your libxml2 installation.

解决方法:

#yum install libxml2 libxml2-devel (For Redhat & Fedora)

# aptitude install libxml2-dev      (For ubuntu)

--------------------------------------------------------------------

错误六

Checking for pkg-config… /usr/bin/pkg-config

configure: error: Cannot find OpenSSL’s <evp.h>

解决方法:

#yum install openssl openssl-devel

--------------------------------------------------------------------

错误七

Configure: error: Please reinstall the BZip2 distribution

解决方法:

# yum install bzip2 bzip2-devel

--------------------------------------------------------------------

错误八

Configure: error: Please reinstall the libcurl distribution -

easy.h should be in <curl-dir>/include/curl/

解决方法:

# yum install curl curl-devel   (For Redhat & Fedora)

# install libcurl4-gnutls-dev    (For Ubuntu)

--------------------------------------------------------------------

错误九:

Configure: error: libjpeg.(also) not found.

解决方法:

# yum install libjpeg libjpeg-devel

--------------------------------------------------------------------

错误十

Configure: error: libpng.(also) not found.

--------------------------------------------------------------------

解决方法:

# yum install libpng libpng-devel

--------------------------------------------------------------------

错误十一

Configure: error: freetype.h not found.

解决方法:

#yum install freetype-devel

--------------------------------------------------------------------

错误十二

Configure: error: Unable to locate gmp.h

解决方法:

# yum install gmp-devel

--------------------------------------------------------------------

错误十三

Configure: error: Cannot find MySQL header files under /usr.

Note that the MySQL client library is not bundled anymore!

解决方法:

# yum install mysql-devel            (For Redhat & Fedora)

# apt-get install libmysql++-dev      (For Ubuntu)

--------------------------------------------------------------------

错误十四

Configure: error: Please reinstall the ncurses distribution

解决方法:

# yum install ncurses ncurses-devel

--------------------------------------------------------------------

错误十五

Checking for unixODBC support… configure: error: ODBC header file ‘/usr/include/sqlext.h’ not found!

解决方法:

# yum install unixODBC-devel

--------------------------------------------------------------------

错误十六

Configure: error: Cannot find pspell

解决方法:

# yum install pspell-devel

--------------------------------------------------------------------

错误十七

configure: error: mcrypt.h not found. Please reinstall libmcrypt.

解决方法:

# yum install libmcrypt libmcrypt-devel    (For Redhat & Fedora)

# apt-get install libmcrypt-dev

--------------------------------------------------------------------

错误十八

Configure: error: snmp.h not found. Check your SNMP installation.

解决方法:

# yum install net-snmp net-snmp-devel

--------------------------------------------------------------------

错误十九

configure:error:Cannot find ldap.h

解决方法:

#yum install openldap-devel openldap

错误二十

configure:error:xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

解决方法:

#yum install libxslt libxslt-devel

错误二十一

checking for libevent >=1.4.11 install prefix... configure: error: Could not find libevent >=1.4.11 in /usr/local/php

解决方法:

安装libevent-1.4.11以上版本至/usr/local

tar xzvf libevent-1.4.14-stable.tar.gz

cd libevent-1.4.14-stable

./configure --prefix=/usr/local

make&&make install

在编译./configure时添加--with-libevent-dir=/usr/local即可

错误二十二

cc1: out of memory allocating 2036 bytes after a total of 81846272 bytes

make: *** [ext/date/lib/parse_date.lo] Error 1

报错:

/usr/bin/ld: cannot find -lltdl

collect2: ld returned 1 exit status

make:*** [sapi/fpm/php-fpm] Error 1

解决方法:

安装ltdl

#cd ../libmcrypt-2.5.7/libltdl/

#./configure --enable-ltdl-install

#ldconfig

#cd php-5.3.6

#make ZEND_EXTRA_LIBS=‘-liconv‘

done s

错误二十三

/usr/src/php-5.3.27/sapi/cli/php: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

make: *** [ext/phar/phar.php] Error 127

find / -name libmysqlclient.so.18

ln -s ` find / -name libmysqlclient.so.18` /usr/lib

mkdir ext/phar/phar.php

错误二十四

/usr/bin/ld: cannot find -liconv

collect2: ld returned 1 exit status

make: *** [libphp5.la] Error 1

[[email protected] php-5.6.2]#

解决方法:

yum install libtool-ltdl-devel

时间: 2024-11-06 03:29:27

lnmp 环境,以及架构实现最小化安装思路的相关文章

搭建LNMP环境(基于最小化安装CentOS 6.5)

本文档主要说明在单台服务器上手动安装LNMP环境的操作步骤,本文档使用的系统版本可能与您的实际使用版本不同,您可以根据实际情况选择相应版本. 一.本文档LNMP环境版本说明: OS:最小化安装CentOS 6.5 Nginx:nginx-1.10.2.tar.gz MySQL:mysql-5.6.24.tar.gz PHP:php-5.6.23.tar.bz2 二.搭建LNMP环境基本步骤 1. 准备编译环境 2. 安装nginx 3. 安装mysql 4. 安装php-fpm 5. 测试访问

基于CentOS 7下最小化安装的操作系统搭建Zabbix3.0环境

环境说明 系统版本:CentOS Linux release 7.3.1611 (Core) 内核版本:3.10.0-514.el7.x86_64 Httpd版本:Apache/2.4.6 (CentOS) MariaDB版本:5.5.52-MariaDB PHP版本:PHP 5.4.16 环境准备 [[email protected] ~]# setenforce 0 [[email protected] ~]# sed -i "s/SELINUX=enforcing/SELINUX=disa

Arch Linux最小化安装LXDE桌面环境

安装最小化的LXDE桌面环境: pacman -S lxde-common 安装LXDE Session: pacman -S lxsession 不安装这个没法登录进桌面环境 安装LXDE面板: pacman -S lxpanel 不安装这个,进入LXDE桌面环境后什么都没有 安装窗口管理器: pacman -S openbox 不安装这个,既不能移动窗口,也不能最大.最小化窗口 安装LXDE环境下的终端程序: pacman -S lxterminal 安装LXDE环境下的文件管理器: pac

Centos7最小化安装下安装,编译lamp环境

centos7默认的php是5.5,mysql已经变为mariadb,如果想要自定义的配置,需要自己手动来编译配置.以下步骤在公司服务器上已经正常操作过. 1.安装centos7选择基本安装,配置完网络后首先要先关闭firewall: 停止firewall # systemctl stop firewalld.service 禁止firewall开机启动 # systemctl disable firewalld.service 2.安装iptables防火墙 yum方式安装iptables #

Centos6.4最小化安装后使用xfce桌面环境

由于我个人使用的Centos是在虚拟机中最小化安装的,gnome实在是不喜欢,所以自己装了个xfce,安装后启动不起来,才发现x window等依赖环境没装,为了少走弯路,在此写下安装过程. 1.yum源配置过程 $ wget http://download.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm $ sudo rpm -ivh epel-release-6-5.noarch.rpm $ sudo yum s

生产服务器环境最小化安装后 Centos 6.5优化配置备忘

本文 centos 6.5 优化 的项有18处: 1.centos6.5最小化安装后启动网卡 2.解决SSH远程链接访问慢优化 3.更新系统源并且升级系统 4.系统时间更新和设定定时任 5.修改ip地址.网关.主机名.DNS 6.关闭selinux,清空iptables 7.创建普通用户并进行sudo授权管理 8.修改SSH端口号和屏蔽root账号远程登陆 9.锁定关键文件系统(禁止非授权用户获得权限) 10.精简开机自启动服务 11.调整系统文件描述符大小 12.设置系统字符集 13.清理登陆

最小化安装CentOS7 + xfce4 +PHP + nginx +mariadb 开发环境

虚拟机自定义最小化安装,新增用户做为管理员,打开自动获取网络,桥接模式.所有的操作只有命令,不做解释,看不明白的可以自行搜索相关的资料. # 开头的行是注释行,# 开头的空行,我自己装机时做了快照.未完待续 1 安装CentOS7 过程: 2 3 # 最小化安装完成快照 4 5 sudo yum install -y wget 6 7 # http://mirrors.163.com/.help/centos.html 8 9 sudo mv /etc/yum.repos.d/CentOS-Ba

UbuntuServer最小化安装gnome环境配置vnc4server

US最小化安装的教程看这篇博客 http://blog.csdn.net/xfworld/article/details/6342000 只要执行安装步奏就行了,启动图形界面还要安装vnc4server. sudo apt-get install vnc4server vnc4server 输入两次密码 vnc4server -kill :1关闭vnc. 修改vnc4server配置文件,vi ~/.vnc/xstartup #!/bin/sh # Uncomment the following

CentOS7最小化安装下源码编译搭建LAMP环境

CentOS7最小化安装 CentOS7官网下载:http://www.centos.org 1.为了方便与主机交换文件建立共享文件夹:点击对话框顶部"选项",选择"共享文件夹",右侧点击"总是启用"点击"添加"按提示添加自己想要添加的目录,然后点击"确认",完成虚拟机设置. 2.按"Enter"建,选择"install CentOS 7".选择"中文 Ch