CentOS6.8 编译安装LNMP
思路:根据Linux系统以及公司网站系统的信息,选择合适的安装包进行安装
一、查看系统信息
- # uname -a # 查看内核/操作系统/CPU信息
- # head -n /etc/issue # 查看操作系统版本
- # grep MemTotal /proc/meminfo # 查看内存总量
- #fdisk -l # 查看所有分区
二、具体安装
常规依赖包安装
- yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-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 openldap openldap-devel openldap-clients openldap-servers make zlib-devel pcre-devel openssl-devel libtool* git tree bison perl gd gd-devel
安装libiconv库
- tar zxvf libiconv-1.14.tar.gz
- cd libiconv-1.14
- ./configure --prefix=/usr/local/libiconv
- make && make install
- cd ..
安装libmcrypt,mhash,mcrypt库
- tar zxvf libmcrypt-2.5..tar.gz
- cd libmcrypt-2.5.
- ./configure
- make && make install
- cd ..
- tar jxvf mhash-0.9.9.9.tar.bz2
- cd mhash-0.9.9.9
- ./configure
- make && make install
- cd ..
- tar zxvf mcrypt-2.6..tar.gz
- cd mcrypt-2.6.
- ./configure
- make && make install
- cd ..
编译 mcrypt 如果报错:configure: error: * libmcrypt was not found,则
- echo '/usr/local/lib/'>>/etc/ld.so.conf
- ldconfig
编译 mcrypt 如果报错:/bin/rm: cannot remove 'libtoolT': No such file or directory,则修改 configure 文件,找到 RM='$RM' 并改为 RM='$RM -rf'。
安装CMake工具
- tar zxvf cmake-3.7..tar.gz
- cd cmake-3.7.
- ./bootstrap && make && make install
- cd..
安装MySQL
- #卸载旧版本
- rpm -e mysql --nodeps
- #创建mysql用户
- groupadd mysql && useradd -g mysql -M mysql
- tar zxvf mysql-5.6..tar.gz
- cd mysql-5.6.
- cmake \
- -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
- -DMYSQL_DATADIR=/usr/local/mysql/data \
- -DSYSCONFDIR=/etc \
- -DMYSQL_USER=mysql \
- -DWITH_MYISAM_STORAGE_ENGINE= \
- -DWITH_INNOBASE_STORAGE_ENGINE= \
- -DWITH_ARCHIVE_STORAGE_ENGINE= \
- -DWITH_MEMORY_STORAGE_ENGINE= \
- -DWITH_READLINE= \
- -DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock \
- -DMYSQL_TCP_PORT= \
- -DENABLED_LOCAL_INFILE= \
- -DENABLE_DOWNLOADS= \
- -DWITH_PARTITION_STORAGE_ENGINE= \
- -DEXTRA_CHARSETS=all \
- -DDEFAULT_CHARSET=utf8 \
- -DDEFAULT_COLLATION=utf8_general_ci \
- -DWITH_DEBUG= \
- -DMYSQL_MAINTAINER_MODE= \
- -DWITH_SSL:STRING=bundled \
- -DWITH_ZLIB:STRING=bundled
- make && make install
- #修改目录权限
- chown -R mysql:mysql /usr/local/mysql
- #拷贝配置文件(注意:如果/etc目录下面默认有一个my.cnf,直接覆盖即可)
- cp support-files/my-default.cnf /etc/my.cnf
- #编辑配置文件,在 [mysqld] 部分增加下面一行
- vi /etc/my.cnf
- datadir = /usr/local/mysql/data #添加MySQL数据库路径
- #执行初始化配置脚本,创建系统自带的数据库和表
- /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
- #加入系统服务
- cp support-files/mysql.server /etc/init.d/mysqld
- chmod +x /etc/init.d/mysqld
- #启动mysql
- service mysqld start
- #开机启动
- chkconfig mysqld on
- #加入环境变量
- echo 'PATH=/usr/local/mysql/bin:$PATH'>>/etc/profile
- export PATH
- #让配置生效
- source /etc/profile
- #设置root密码,默认是没有密码的
- /usr/local/mysql/bin/mysqladmin -uroot -p password
- cd ..
启动 mysql 时如果报错:mysqld_safe Directory '/var/lib/mysqld' for UNIX socket file don't exists,则
- mkdir -p /var/lib/mysqld
- chown mysql:mysql /var/lib/mysqld
安装PHP
- tar zxvf php-5.6..tar.gz
- cd php-5.6.
- ./configure \
- --prefix=/usr/local/php \
- --with-fpm-user=www --with-fpm-group=www \
- --with-config-file-path=/usr/local/php/etc \
- --with-mhash --with-mcrypt --enable-bcmath \
- --enable-mysqlnd --with-mysql --with-mysqli --with-pdo-mysql \
- --with-gd --enable-gd-native-ttf --with-jpeg-dir --with-png-dir --with-freetype-dir \
- --enable-fpm \
- --enable-mbstring \
- --enable-pcntl \
- --enable-sockets \
- --enable-opcache \
- --with-openssl \
- --with-zlib \
- --with-curl \
- --with-libxml-dir \
- --with-iconv-dir
- make && make install
- #移动生成php-fpm配置文件
- mv /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
- #复制生成一份php配置文件
- cp php.ini-production /usr/local/php/etc/php.ini
- #将php-fpm加入系统服务
- cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
- #赋予执行权限
- chmod +x /etc/init.d/php-fpm
- #开机启动
- chkconfig php-fpm on#创建www用户
- groupadd www && useradd -d /home/www -g www www
- #启动php-fpm
- service php-fpm start
- cd ..
- vim /etc/profile
- 修改PATH=/usr/local/php/bin:/usr/local/mysql/bin:$PATH
- export PATH
- source /etc/profile
安装Nginx
- tar zxvf nginx-1.10..tar.gz
- cd nginx-1.10.
- ./configure \
- --user=www \
- --group=www \
- --prefix=/usr/local/nginx \
- --conf-path=/etc/nginx/nginx.conf \
- --error-log-path=/var/log/nginx/error.log \
- --http-log-path=/var/log/nginx/access.log \
- --pid-path=/var/run/nginx.pid \
- --with-http_stub_status_module \
- --with-http_gzip_static_module \
- --with-http_ssl_module \
- --with-pcre
- make && make install
添加Nginx启动管理脚本/etc/init.d/nginx
- #!/bin/sh
- #
- # nginx - this script starts and stops the nginx daemon
- #
- # chkconfig: - # description: NGINX is an HTTP(S) server, HTTP(S) reverse \
- # proxy and IMAP/POP3 proxy server
- # processname: nginx# config: /etc/nginx/nginx.conf
- # config: /etc/sysconfig/nginx# pidfile: /var/run/nginx.pid
- # Source function library.
- . /etc/rc.d/init.d/functions
- # Source networking configuration.
- . /etc/sysconfig/network
- # Check that networking is up.
- [ "$NETWORKING" = "no" ] && exit
- nginx="/usr/local/nginx/sbin/nginx"
- prog=$(basename $nginx)
- NGINX_CONF_FILE="/etc/nginx/nginx.conf"
- [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx
- lockfile=/var/lock/subsys/nginx
- make_dirs() {
- # make required directories
- user=`$nginx -V >& | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -`
- if [ -n "$user" ]; then
- if [ -z "`grep $user /etc/passwd`" ]; then
- useradd -M -s /bin/nologin $user
- fi
- options=`$nginx -V >& | grep 'configure arguments:'`
- for opt in $options; do
- if [ `echo $opt | grep '.*-temp-path'` ]; then
- value=`echo $opt | cut -d "=" -f `
- if [ ! -d "$value" ]; then
- # echo "creating" $value
- mkdir -p $value && chown -R $user $value
- fi
- fi
- done
- fi
- }
- start() {
- [ -x $nginx ] || exit
- [ -f $NGINX_CONF_FILE ] || exit
- make_dirs
- echo -n $"Starting $prog: "
- daemon $nginx -c $NGINX_CONF_FILE
- retval=$?
- echo
- [ $retval -eq ] && touch $lockfile
- return $retval
- }
- stop() {
- echo -n $"Stopping $prog: "
- killproc $prog -QUIT
- retval=$?
- echo
- [ $retval -eq ] && rm -f $lockfile
- return $retval
- }
- restart() {
- configtest || return $?
- stop
- sleep
- start
- }
- reload() {
- configtest || return $?
- echo -n $"Reloading $prog: "
- killproc $nginx -HUP
- RETVAL=$?
- echo
- }
- force_reload() {
- restart
- }
- configtest() {
- $nginx -t -c $NGINX_CONF_FILE
- }
- rh_status() {
- status $prog
- }
- rh_status_q() {
- rh_status >/dev/null >&
- }
- case "$1" in
- start)
- rh_status_q && exit
- $
- ;;
- stop)
- rh_status_q || exit
- $
- ;;
- restart|configtest)
- $
- ;;
- reload)
- rh_status_q || exit
- $
- ;;
- force-reload)
- force_reload
- ;;
- status)
- rh_status
- ;;
- condrestart|try-restart)
- rh_status_q || exit
- ;;
- *)
- echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}"
- exit
- esac
用法指南
- chmod +x /etc/init.d/nginx
- service nginx start #启动nginx服务
- chkconfig nginx on #开机启动
- cd ..
至此,LNMP环境已搭建完毕。
CentOS6.8 编译安装LNMP的更多相关文章
- centos6.6编译安装lnmp系列之mysql
简介: 环境:虚拟机+centos6.6 Mysql版本:5.6.21 Mysql下载地址:http://cdn.mysql.com/archives/mysql-5.6/mysql-5.6.21.t ...
- centos6.6编译安装lnmp系列之PHP
简介: 环境:虚拟机+centos6.6 在百度云盘里面我分享的安装软件包,包含LNMP系列软件. http://pan.baidu.com/s/1gdvnimv 1.安装前配置: 关闭selinux ...
- centos6.6编译安装lnmp系列之nginx
简介: 环境:虚拟机+centos6.6 Cmake下载地址:http://www.cmake.org/files/v3.0/cmake-3.0.2.tar.gz Nginx 下载地址: http:/ ...
- CentOS6.5 编译安装lnmp环境
参考:http://54im.com/tag/libmcrypt http://www.educity.cn/linux/1240338.html 设置防火墙,并开启3306 80端口:vi /etc ...
- centos6.8 编译安装lnmp php7.2 mysql5.6 nginx1.1.4
编译操作参考版,没有每一步详细操作,慎入 关闭selinux和防火墙 service iptables stop chkconfig iptables off vi /etc/selinux/conf ...
- 阿里云centos6.5实践编译安装LNMP架构web环境
LNMP 代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构. 本次测试需求: **实践centos6.5编译安装 LNMP生产环境 架构 web生产环境 使用 ngx_pa ...
- CentOS6.3编译安装Nginx1.4.7 + MySQL5.5.25a + PHP5.3.28
[准备工作] #在编译安装lnmp之前,首先先卸载已存在的rpm包. rpm -e httpd rpm -e mysql rpm -e php yum -y remove httpd yum -y r ...
- centos下编译安装lnmp
centos下编译安装lnmp 本文以centos为背景在其中编译安装nginx搭建lnmp环境. 编译安装nginx时,需要事先安装 开发包组"Development Tools" ...
- CentOS6.3编译安装Memcached
要用到如下源码包: /usr/local/src/memcached/libevent-2.0.21-stable.tar.gz /usr/local/src/memcached/memcached- ...
随机推荐
- Mina框架的学习笔记——Android客户端的实现
Apache MINA(Multipurpose Infrastructure for Network Applications) 是 Apache 组织一个较新的项目,它为开发高性能和高可用性的网络 ...
- 第二部分:Spring中配置mongodb
一.需要引用的jar包 1.spring-data-mongodb-1.9.4.RELEASE.jar 2.spring-data-commons-1.12.11.RELEASE.jar 3.mong ...
- hdu 5145(莫队算法+逆元)
NPY and girls Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Tot ...
- 在ros下使用tf
tf真是一个好东西,把坐标变换都简化了 首先tf需要有一个broadcaster #include <ros/ros.h> #include <tf/transform_broadc ...
- HDU 1541.Stars-一维树状数组(详解)
树状数组,学长很早之前讲过,最近才重视起来,enmmmm... 树状数组(Binary Indexed Tree(B.I.T), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据 ...
- (1)安装Xamarin
()一.安装 1.安装xamarin 2.下载jdk8 https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads- ...
- 第十四届华中科技大学程序设计竞赛 J Various Tree【数值型一维BFS/最小步数】
链接:https://www.nowcoder.com/acm/contest/106/J 来源:牛客网 题目描述 It's universally acknowledged that there'r ...
- Python与数据库[2] -> 关系对象映射/ORM[4] -> sqlalchemy 的显式 ORM 访问方式
sqlalchemy 的显式 ORM 访问方式 对于sqlalchemy,可以利用一种显式的ORM方式进行访问,这种方式无需依赖声明层,而是显式地进行操作.还有一种访问方式为声明层 ORM 访问方式. ...
- IOS调用WCF提供的服务方法,但是方法的参数是WCF那边自定义的对象,这样有办法调用么,如果可以IOS应该怎么传参呢?请问有了解的么,
最近做一个项目后端使用WCF接收Android手机拍照并带其它参数保存到服务器里:刚好把最近学习的WCF利用上,本以为是个比较简单的功能应该很好实现,没想到其中碰到不少问题,在网上搜索很久一直没有想到 ...
- 数据块dump详解及大小表扫描过程
http://blog.csdn.net/u013820054/article/details/40378233 http://blog.csdn.net/u013820054/article/cat ...