文档章节

LNMP源码包部署笔记

card123
 card123
发布于 2015/10/23 10:35
字数 1010
阅读 82
收藏 6

一.从官方下载最新版nginx、mysql、php安装包
wget http://nginx.org/download/nginx-1.6.2.tar.gz
wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.21.tar.gz

wget http://hk1.php.net/get/php-5.6.3.tar.gz/from/this/mirror

(重命名php安装包,mv mirror php-5.6.3.tar.gz)

二.环境准备(yum安装编译时所依赖的包)
yum install zlib-devel pcre-devel openssl-devel -y
yum install wget gcc gcc-c++ make cmake ncurses-devel libtool zilib-devel -y
yum install libevent libevent-devel -y 
yum install libxml2 libxml2-devel -y
yum install php-xml php-xml-devel -y
yum install bzip2 bzip2-* -y
yum install gd php-gd -y
yum install zip unzip -y
yum install curl libcurl libcurl-* -y



三.nginx安装
1.添加nginx组和用户
groupadd -r nginx
useradd -r -g nginx -r -s /sbin/nologin nginx


2.创建tmp文件夹
mkdir /var/tmp/nginx


3.编译安装
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_ssl_module \
--with-http_flv_module \
--with-http_stub_status_module \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/tmp/nginx/client/ \
--http-proxy-temp-path=/var/tmp/nginx/proxy/ \
--http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ \
--http-uwsgi-temp-path=/var/tmp/nginx/uwsgi \
--http-scgi-temp-path=/var/tmp/nginx/scgi \
--with-pcre


make && makeinstall


4.拷贝配置文件
cd /usr/local/nginx/conf
cp nginx.conf.default nginx.conf


5.启动nginx、停止nginx、重启nginx

启动:

    /usr/local/nginx/sbin/nginx

停止:

    结束nginx直接结束进程就可以,也可以killall -r nginx

    /usr/local/nginx/sbin/nginx -s stop

重新加载配置文件(不重启加载配置文件):

    /usr/local/nginx/sbin/nginx -s reload

添加到开机启动:
    echo "/usr/local/nginx/sbin/nginx" >> /etc/rc.local


四.mysql编译安装
1.添加mysql组和用户
groupadd -r mysql
useradd -r -g mysql -r -s /sbin/nologin mysql


2.编译安装
说明:mysql5.5及以后的版本编译方式与之前版本不同 用cmake
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306


make && make install


3.修改mysql配置文件
cp support-files/my-medium.cnf /etc/my.cnf
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
chown -R mysql:mysql /usr/local/mysql


4.初始化mysql
cd /usr/local/mysql
./scripts/mysql_install_db  --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data  --user=mysql


5.启动方法:
方法1:
启动服务
/etc/init.d/mysqld start
开机启动
chkconfig –add mysqld 




方法2:
cd /usr/local/mysql/bin
./mysqld_safe --user=mysql &
//开机启动
echo "/usr/local/mysql/bin/mysqld_safe --user=mysql &" >> /etc/rc.local




6.配置mysql用户
/usr/local/mysql/bin/mysqladmin -u root password 123
/usr/local/mysql/bin/mysql -u root -p


五.php编译安装
1.编译安装
./configure \
--prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \
--with-pdo-mysql \
--with-openssl \
--enable-fpm \
--enable-sockets \
--enable-sysvshm \
--enable-zip \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--enable-mbstring \
--with-freetype-dir \
--with-jpeg-dir \
--with-png-dir \
--with-zlib-dir \
--with-libxml-dir=/usr \
--enable-xml \
--with-config-file-path=/usr/local/php/etc \
--with-config-file-scan-dir=/usr/local/php/etc/php.d \
--with-bz2 \
--with-gd \
--with-curl




make && make install


2.初始化配置文件

拷贝php配置文件到安装目录

# cp php.ini-production /usr/local/php/etc/php.ini 


为php-fpm提供配置文件:
# cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf 
编辑php-fpm的配置文件:
# vim /usr/local/php/etc/php-fpm.conf
配置fpm的相关选项为你所需要的值:
pm.max_children = 150
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10




接下来就可以启动php-fpm了:
# /usr/local/php/sbin/php-fpm


使用如下命令来验正(如果此命令输出有中几个php-fpm进程就说明启动成功了):
# ps aux | grep php-fpm


六.整合nginx和php5
1、编辑/etc/nginx/nginx.conf,在server范围里添加如下选项:
location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }


并在所支持的主页面格式中添加php格式的主页,类似如下:
在server内修改以下两行
root   html;
index  index.php index.html index.htm;


2.重启nginx服务


3.在/usr/html新建index.php的测试页面,测试php是否能正常工作:
# cat > /usr/html/index.php << EOF
<?php
phpinfo();
?>


通过浏览器访问测试


七.基于域名访问的虚拟主机配置
1.mkdir /usr/local/nginx/conf/vhost
2.在 nginx.conf配置文件 http范围内加上 include vhost/*.conf
3.在/usr/local/nginx/conf/vhost里新建虚拟主机的配置文件,配置文件建议命名:域名.conf
配置文件内容如下:
/usr/local/nginx/conf/vhost/demo.mhj.com
server {
        listen       80;
        server_name  cloud.010host.com;




            root   /data/www/cloud.010host.com;
            index  index.php index.html index.htm;


        #error_page  404              /404.html;


        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        #location = /50x.html {
        #    root   html;
        #}




        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ \.php$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }


        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }
4.重启nginx,测试


本文转载自:http://www.mhjblog.com/newsshow.php?id=295

共有 人打赏支持
card123
粉丝 0
博文 15
码字总数 3390
作品 0
朝阳
程序员
自动部署LNMP脚本

最近抽时间写了一份LNMP部署脚本,使用源码安装所需软件,源码软件包网络上很容易获取,这里仅贴出脚本内容,大家可以自行在网络上下载对应的软件放在脚本当前目录即可,实际下载的软件包如果...

丁丁历险
2015/12/12
0
0
Liunx笔记:zabbix编译安装

Liunx笔记:zabbix编译安装 前言 之前的yum安装是方便。简单。但是呢,不方便升级。此处来个编译安装。 1.基础环境准备 [root@Aige ~]# cat /etc/redhat-release CentOS release 6.8 (Final...

segastar660
06/29
0
0
部署LNMP环境

部署LNMP环境 1.1 问题 安装部署Nginx、MariaDB、PHP环境 安装部署Nginx、MariaDB、PHP、PHP-FPM; 启动Nginx、MariaDB、FPM服务; 并测试LNMP是否工作正常。 1.2 方案 在RHEL7系统中,源码安...

天亮说再见
2017/11/09
0
0
CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础软件包,在这个基础环境上我们可以搭建任何使...

HMLinux
2017/06/05
0
0
nginx php动态编译加载模块.

#Nginx动态编译加载模块步骤 #查看目前Nginx版本及编译模块 #[root@centos7 ~]# /opt/app/lnmp/nginx-1.12.0/sbin/nginx -V #nginx version: nginx/1.12.0 #built by gcc 4.8.5 20150623 (R......

一招拜师
2017/07/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Android JNI 开发系列(九)JNI调用Java的静态方法&实例方法

JNI调用Java的静态方法&实例方法 package org.professor.jni.bean;import android.util.Log;/** * Created by peng on 2018/10/11. */ public class Person { /*C/CPP 调用......

蔡小鹏
14分钟前
0
0
Flink 原理与实现:Window 机制

Flink 认为 Batch 是 Streaming 的一个特例,所以 Flink 底层引擎是一个流式引擎,在上面实现了流处理和批处理。而窗口(window)就是从 Streaming 到 Batch 的一个桥梁。Flink 提供了非常完...

xtof
16分钟前
0
0
Fabric.js高级点的教程2--添加表格的方法

有时候我们先在画布上画一个表格类似一下设计软件那种。一方面作为参考线,一方面给人一直专业的赶脚。。。 先贴上一段网上(不是我写的)可以运行的代码 https://codepen.io/rodan8888/pen/e...

xmqywx
16分钟前
0
0
Java中Lambda表达式的使用

Java中Lambda表达式的使用 简介 (译者注:虽然看着很先进,其实Lambda表达式的本质只是一个"语法糖",由编译器推断并帮你转换包装为常规的代码,因此你可以使用更少的代码来实现同样的功能。本人...

DemonsI
19分钟前
0
0
深入理解Java中停止线程

一.停止线程会带来什么? 对于单线程中,停止单线程就是直接使用关键字return或者break,但是在停止多线程时是让线程在完成任务前去开启另外一条线程,必须放弃当前任务,而这个过程是不可预...

Ala6
29分钟前
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部