在平时运维工作中,经常需要用到LNMP应用框架。
以下对LNMP环境部署记录下:

1)前期准备:为了安装顺利,建议先使用yum安装依赖库
[root@opd ~]#yum install -y make cmake gcc gcc-c++ autoconf automake libpng-devel libjpeg-devel zlib libxml2-devel ncurses-devel bison libtool-ltdl-devel libiconv libmcrypt mhash mcrypt libmcrypt-devel pcre-devel openssl-devel freetype-devel libcurl-devel

2)安装nginx
[root@opd ~]#cd /opt/src
[root@src ~]#wget http://nginx.org/download/nginx-1.8.0.tar.gz
[root@src ~]#tar -zxvf nginx-1.8.0.tar.gz
[root@src ~]#cd nginx-1.8.0
添加www用户,其中-M参数表示不添加用户家目录,-s参数表示指定shell类型
[root@nginx-1.8.0 ~]#useradd www -M -s /sbin/nologin
[root@nginx-1.8.0 ~]#vim auto/cc/gcc
将这句注释掉取消Debug编译模式 大概在179行
#CFLAGS="$CFLAGS -g"

我们再配置下nginx编译参数
[root@nginx-1.8.0 ~]#./configure --prefix=/opt/nginx --user=www --group=www --with-http_stub_status_module --with-http_ssl_module
[root@nginx-1.8.0 ~]#make
[root@nginx-1.8.0 ~]#make install clean
添加开机自启动
[root@nginx-1.8.0 ~]#vim /etc/rc.local
在这个文件里面添加:/opt/nginx/sbin/nginx
[root@nginx-1.8.0 ~]#/opt/nginx/sbin/nginx

                                                               Centos7采用yum方式安装nginx                                                            
centos7系统库中默认是没有nginx的rpm包的,所以我们自己需要先更新下rpm依赖库
1)使用yum安装nginx需要包括Nginx的库,安装Nginx的库
# rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2)使用下面命令安装nginx
# yum install nginx

3)启动Nginx
# service nginx start

# systemctl start nginx.service
                                                                                                                                                                           

3)安装PHP
由于PHP需要这些类库的支撑
先下载PHP
[root@opd ~]#cd /opt/src/
[root@src ~]#wget http://cn2.php.net/distributions/php-5.6.10.tar.gz
[root@src ~]#tar -zxvf php-5.6.10.tar.gz
[root@src ~]#cd php-5.6.10
我们先配置下PHP的编译参数
[root@php-5.6.10 ~]#./configure --prefix=/opt/php --with-mysql --with-mysqli --with-iconv-dir --with-zlib --with-libxml-dir --enable-xml --with-curl --enable-fpm --enable-mbstring --with-gd --with-openssl --with-mhash --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-libdir=/usr/lib64 --with-jpeg-dir=/usr/lib64 --with-freetype-dir=/usr/lib64 --with-png-dir=/usr/lib64
[root@php-5.6.10 ~]#make
[root@php-5.6.10 ~]#make install clean
复制php.ini
[root@php-5.6.10 ~]#cp php.ini-development /opt/php/lib/php.ini
[root@php-5.6.10 ~]#cd /opt/php/etc/
[root@php-5.6.10 ~]#cp php-fpm.conf.default php-fpm.conf        //在php-fpm.conf文件中可以定义php的服务端口、进程启动的用户和组权限(最好和nginx服务启动权限一直)等。
使用PHP-FPM管理脚本,在编译包里面已经配置好了,只需要复制到/etc/init.d/中即可
[root@php-5.6.10 ~]#cd /opt/src/php-5.6.10/sapi/fpm/
[root@php-5.6.10 ~]#cp init.d.php-fpm /etc/init.d/php-fpm
[root@php-5.6.10 ~]#chmod +x /etc/init.d/php-fpm
启动php-fpm
[root@php-5.6.10 ~]#service php-fpm start
加入开机启动策略
[root@php-5.6.10 ~]#chkconfig --add php-fpm
[root@php-5.6.10 ~]#chkconfig php-fpm on

4)安装MySQL (可参考:centos 6x系统下源码安装mysql操作记录
MySQL5.7.x以上的版本不支持本安装新增了boost引擎,后续我会更新……
先下载MySQL
[root@opd ~]#cd /opt/src/
[root@src ~]#wget http://cdn.mysql.com//archives/mysql-5.6/mysql-5.6.21.tar.gz
[root@src ~]#tar -zxvf mysql-5.6.12.tar.gz
[root@src ~]#cd mysql-5.6.12
我们先配置下MySQL的编译参数 一般我们就配置下安装路径就可以了 如你有特殊配置也可以在安装之后修改参数也可以的
[root@mysql-5.6.12 ~]#cmake -DCMAKE_INSTALL_PREFIX=/opt/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DENABLED_LOCAL_INFILE=ON -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_FEDERATED_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITHOUT_EXAMPLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DCOMPILATION_COMMENT='production environment' -DWITH_READLINE=ON -DSYSCONFDIR=/opt/mysql -DMYSQL_UNIX_ADDR=/opt/mysql/mysql.sock -DMYSQL_DATADIR=/opt/data

-------------------------------------------------------------------------------------------------------------------------------------
注意:mysql5.5以上的编译就用cmake了,而不是使用./configure了。
cmake编译的优化参数说明如下:
-------------------------------------
-DCMAKE_INSTALL_PREFIX=dir_name       安装的主目录
-DDEFAULT_CHARSET          字符集,默认字符集是latin1
-DDEFAULT_COLLATION=collation_name       服务校对,默认的是latin1_swedish_ci,可以通过SHOW COLLATION语句查看哪个校对匹配的字符集
-DENABLED_LOCAL_INFILE       是否打开LOAD DATA INFILE的LOCAL参数
-DWITH_INNOBASE_STORAGE_ENGINE=1       将INNODB存储引擎编译进去
-DWITH_FEDERATED_STORAGE_ENGINE=1       将FEDERATED存储引擎编译进去
-DWITH_BLACKHOLE_STORAGE_ENGINE=1       将BLACKHOLE存储引擎编译进去
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1      不编译EXAMPLE存储引擎
-DWITH_PARTITION_STORAGE_ENGINE=1          将分区存储引擎编译进去
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1       将Performance Schema(性能视图)存储引擎编译进去
-DCOMPILATION_COMMENT=string       编译环境描述
-DWITH_READLINE=bool       是否使用readline库
-DSYSCONFDIR=dir_name my.cnf       参数文件的路径
-DMYSQL_UNIX_ADDR=file_name Unix socket        文件的路径,socket文件用于服务器监听连接,这个参数必须是绝对路径
-DENABLED_PROFILING=bool       是否开启profiling代码的查询(用于SHOW PROFILE and SHOW PROFILES语句)
-DMYSQL_DATADIR=dir_name MySQL       文件目录的路径,这个参数也可以在启动MySQL的时候带上--datadir参数进行设置
-DWITH_EXTRA_CHARSETS=name       指定额外的字符集,默认是all,包含所有的字符集。
-DINSTALL_BINDIR=dir_name      安装用户程序的路径,默认路径是DCMAKE_INSTALL_PREFIX/bin
-DINSTALL_DOCDIR=dir_name      安装文档的路径,默认路径是DCMAKE_INSTALL_PREFIX/doc
-DINSTALL_INCLUDEDIR=dir_name      安装头文件的路径,默认路径是DCMAKE_INSTALL_PREFIX/include
-DINSTALL_LIBDIR=dir_name       安装库文件的路径,默认路径是DCMAKE_INSTALL_PREFIX/lib
-DINSTALL_MANDIR=dir_name      安装帮助手册的路径,默认路径是DCMAKE_INSTALL_PREFIX/man
-DINSTALL_PLUGINDIR=dir_name      安装插件的路径,默认路径是DCMAKE_INSTALL_PREFIX/lib/plugin
-DINSTALL_SBINDIR=dir_name      安装mysqld服务端启动脚本的路径,默认路径是DCMAKE_INSTALL_PREFIX/bin
-DINSTALL_SCRIPTDIR=dir_name      初始化MySQL数据库的数据文件路径的mysql_install_db脚本路径,默认路径是DCMAKE_INSTALL_PREFIX/scripts
-DINSTALL_SQLBENCHDIR=dir_name      安装sql-bench的路径,默认路径是DCMAKE_INSTALL_PREFIX
-DINSTALL_SUPPORTFILESDIR=dir_name      安装支持文件的路径,默认路径是DCMAKE_INSTALL_PREFIX/support-files
-DMYSQL_TCP_PORT=port_num     服务器监听TCP/IP连接的端口,默认是3306

如若要编译进其它功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITH_READLINE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0
-------------------------------------------------------------------------------------------------------------------------------------

编译需要较长的时间
[root@mysql-5.6.12 ~]#make
[root@mysql-5.6.12 ~]#make install clean
添加mysql用户,设置mysql目录权限
[root@mysql-5.6.12 ~]# useradd mysql -M -s /sbin/nologin
[root@mysql-5.6.12 ~]# chown -R mysql:mysql /opt/mysql
[root@mysql-5.6.12 ~]# chown -R mysql:mysql /opt/data
安装数据库
[root@mysql-5.6.12 ~]# cd /opt/mysql/scripts
[root@scripts ~]#./mysql_install_db --user=mysql --basedir=/opt/mysql --datadir=/opt/mysql/data
[root@scripts ~]#cd /opt/mysql/support-files
复制mysql管理脚本
[root@support-files ~]#cp mysql.server /etc/rc.d/init.d/mysql
复制mysql配置文件
[root@support-files ~]#cp my-default.cnf /etc/my.cnf
添加mysql服务
[root@support-files ~]#chkconfig --add mysql
加入开机启动策略
[root@support-files ~]#chkconfig mysql on
[root@support-files ~]#service mysql start

4)nginx+php配置

server {
listen 80;
server_name www.wangshibo.com; #charset koi8-r; access_log /Data/logs/nginx/www.wangshibo.com/access.log main;
error_log /Data/logs/nginx/www.wangshibo.com/error.log; ## maintence
if ($remote_addr !~ ^(100.110.15.16|100.110.15.17|100.110.15.18|127.0.0.1)) { //nginx访问的白名单限制
rewrite ^.*$ /maintence.php last;
} location / {
root /var/www/vhosts/www.wangshibo.com/main;
try_files $uri $uri/ @router;
index index.php;
} location /nginx_status {
stub_status on;
access_log off;
} #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;
} location @router {
rewrite ^.*$ /index.php last;
} location ~ \.php$ {
root /var/www/vhosts/www.wangshibo.com/main;
fastcgi_pass 127.0.0.1:9000;
fastcgi_read_timeout 30;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; //这一行最好将/scripts换成$document_root,否则可能出现白面
#include fastcgi_params;
include fastcgi.conf;
} location ~ ^/(status|ping)$
{
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
} }

centos6.8下LNMP (nginx1.8.0+php5.6.10+mysql5.6.12) - 部署手册的更多相关文章

  1. CentOS6.7安装部署LNMP(nginx1.8.0+php5.6.10+mysql5.6.12)

    IP-10.0.0.8 1.安装nginx mkdir -p /server/tools cd /server/tools yum install -y pcre pcre-devel openssl ...

  2. centos6.8下安装部署LNMP(备注:nginx1.8.0+php5.6.10+mysql5.6.12)

    在平时运维工作中,经常需要用到LNMP应用框架.以下对LNMP环境部署记录下: 1)前期准备:为了安装顺利,建议先使用yum安装依赖库[root@opd ~]#yum install -y make ...

  3. 编译安装LNMP Centos 6.5 x64 + Nginx1.6.0 + PHP5.5.13 + Mysql5.6.19

    (来自:http://www.cnblogs.com/vicowong/archive/2011/12/01/2116212.html) 环境: 系统硬件:vmware vsphere (CPU:2* ...

  4. CentOS6.7上安装nginx1.8.0

    主题: CentOS6.7上安装nginx1.8.0 环境准备: 1.gcc-c++ 示例:yum install gcc-c++ 安装:gcc-c++ gcc-c++编译工具 2.PCRE(Perl ...

  5. centos6.3编译安装Apache2.4.3+PHP5.4.8+Mysql5.5.8

    以虚拟机VirtualBox 版本是4.1.20(内存设置为512M,centos安装是文本模式下安装),全新以最小化包安装了32位的 CentOS6.3系统,作为本地web环境,上次讲了在windo ...

  6. centos7编译安装LNMP(nginx-1.16.0,mysql8.0.16,php-7.3.6)常见问题报错及解决方法

    LNMP的安装与配置 nginx-1.16.0安装及配置: 第一步:前往官网下载nignx源码包 下载完毕后上传至服务器(先安装lrzsz) yum -y install lrzsz 安装完毕后执行: ...

  7. CentOS6.8下安装Nginx-1.9.15

    1. 简介 Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器. Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BS ...

  8. linux下安装Nginx1.16.0

    因为最近在倒腾linux,想安装新版本的nginx,找了一圈教程没有找到对应的教程,在稍微倒腾了一会之后终于成功的安装了最新版. 服务器环境为centos,接下来是详细步骤: 安装必要依赖插件 yum ...

  9. nginx1.4.6+php5.5.11+mysql5.6.17+mecache+opcache

    要用到的软件:libiconv-1.13.tar.gz libmcrypt-2.5.8.tar.gz mcrypt-2.6.8.tar.gz mhash-0.9.9.9.tar.gz memcache ...

随机推荐

  1. linux 系统中用root切换到普通用户时显示的异常如-bash-4.1$

    解决办法: 其实就是普通用户的家目录缺少配置文件导致: [root@xxx ~]# su - oldboy -bash-4.1$ 原因是普通用户的家目录下缺少文件: [root@xxx ~]# ls ...

  2. Appium 实战练习一

    # -*- coding:utf-8 -*- ''' Created on Sep 30, 2018 @author: SaShuangYiBing Comment: ''' import time ...

  3. Lets encrypt安装及配置

    letsencrypt recommend that most people with shell access use the Certbot ACME client.It can automate ...

  4. 基于Redis实现的抢购代码示例

    示例代码是基于博客 https://blog.csdn.net/qq1013598664/article/details/70183908的错误案例修改而来,如果有问题望多多指点,错误代码可以去原文查 ...

  5. P2626 斐波那契数列(升级版)(合数的质数分解, 大数为素数的概率十分小的利用)

    题目背景 大家都知道,斐波那契数列是满足如下性质的一个数列: f(1)=1f(1) = 1 f(1)=1 f(2)=1f(2) = 1f(2)=1 f(n)=f(n−1)+f(n−2)f(n) = f ...

  6. 【转】curl 命令行下载工具使用方法小结

    获取curl curl 命令行下载工具 curl的官方网站为: http://curl.haxx.se官方下载页面为:http://curl.haxx.se/download.html 你可能并不清楚 ...

  7. Git安装与配置——详细教程1

    1.下载Git客户端 想要安装Git首先要下载Git的安装包程序. Git安装包下载地址:https://git-scm.com/downloads/ 2.安装Git 双击安装程序进行安装: a. 欢 ...

  8. QT插件+ROS 2 新建项目

    一QT插件开发ROS,http://www.ncnynl.com/archives/201701/1277.html 二QT开发遇到问题http://blog.csdn.net/u013453604/ ...

  9. oracle 迁移

    一.创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建. create directory exp_shengchan as '/home/oracle/exp_shen ...

  10. AI 最小二乘法

    最小二乘法 参考链接: https://zhuanlan.zhihu.com/p/27204466