lnmp

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。


源码安装 mysql

  • 安装编译mysql的cmake工具
    [root@server1 ~]# yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y

  • 安装mysql的源码包
    [root@server1 ~]# tar -zxf mysql-boost-5.7.11.tar.gz

  • 检查编译环境
    [root@server1 ~]# cd mysql-5.7.11/
    [root@server1 mysql-5.7.11]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DWITH_BOOST=/root/mysql-5.7.11/boost/boost_1_59_0/

  • 此时出现报错,需要删除CMakeCache.txt缓存



    [root@server1 mysql-5.7.11]# rm -rf remove CMakeCache.txt
    在检查的过程中,需要安装下面的依赖包。
    [root@server1 mysql-5.7.11]# yum install -y gcc gcc-c++ make ncurses-devel bison openssl-devel zlib-devel
    再次检查直到通过



    编译 和 安装
    [root@server1 mysql-5.7.11]# make && make install
  • 配置mysql
    [root@server1 ~]# vim /etc/my.cnf 更改mysql的data路径和sock路径
    datadir=/usr/local/lnmp/mysql/data
    socket=/usr/local/lnmp/mysql/data/mysql.sock
    [root@server1 ~]# vim ~/.bash_profile #指定位置到全局变量中
    PATH=HOME/bin:/usr/local/lnmp/mysql/bin
    [root@server1 ~]# source ~/.bash_profile #重新生效
    创建 mysql 用户
    [root@server1 ~]# groupadd -g 27 mysql
    [root@server1 ~]# useradd -u 27 -g 27 -s /sbin/nologin -M -d /usr/local/lnmp/mysql/ mysql
    [root@server1 ~]# id mysql
    uid=27(mysql) gid=27(mysql) groups=27(mysql)

    初始化之前更改的/us r/local/lnmp/mysql 下的所有文件

    将启动脚本移动到特定位置

    mysql的初始化

初始化密码待用
更改/usr/local/lnmp/mysql 下文件的所属用户为root(除了data目录下的所有文件)
启动服务



更改密码
[root@server1 mysql]# mysql_secure_installation
成功进入mysql


  • php源码安装
    所需软件包:libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel-2.5.8-9.el6.x86_64.rpm gd-devel-2.0.35-11.el6.x86_64.rpm php-5.6.20.tar.bz2
    安装编译环境所需要的依赖包
    yum install curl-devel openssl-devel libxml2-devel libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel-2.5.8-9.el6.x86_64.rpm gd-devel-2.0.35-11.el6.x86_64.rpm gmp-devel bison net-snmp-devel -y
    对php进行解包
    tar jxf php-5.6.20.tar.bz2
    检查编译环境
    [root@server1 php-5.6.20]# ./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-pear --with-gettext --with-gmp --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash



    检查环境通过!
    创建nginx用户
    [root@server1 local]# useradd -u 800 -M -d /usr/local/lnmp/php -s /sbin/nologin nginx #-M表示不要自动建立用户的登入目录 -d用来指定nginx用户的主目录 -s用来指定nginx的用户登录shell
    root@server1 local]# id nginx
    uid=800(nginx) gid=800(nginx) groups=800(nginx)

[root@server1 php-5.6.20]# make && make install
对php配置文件的修改
[root@server1 php-5.6.20]# cd /usr/local/lnmp/php/etc/
[root@server1 etc]# ls
pear.conf php-fpm.conf.default
[root@server1 etc]# cp php-fpm.conf.default php-fpm.conf
[root@server1 etc]# cd /root/php-5.6.20
[root@server1 php-5.6.20]# cp php.ini-production /usr/local/lnmp/php/etc/php.ini
[root@server1 php-5.6.20]# cd /usr/local/lnmp/php/etc/
[root@server1 etc]# ls
pear.conf php-fpm.conf php-fpm.conf.default php.ini
[root@server1 etc]# vim php.ini #更改时区


[root@server1 etc]# vim php-fpm.conf



将php的路径添加到环境变量中

[root@server1 fpm]# vim ~/.bash_profile
PATH=HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/php/bin
[root@server1 ~]# source ~/.bash_profile #重新生效
启动服务
[root@server1 bin]# /etc/init.d/php-fpm start
Starting php-fpm done
[root@server1 bin]# netstat -antlpe | grep 9000 #查看改服务的端口
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 0 111018 20722/php-fpm

  • nginx源码安装和配置
    1、安装
    由于前面说过这里不做详细说明
    配置
    vim /usr/local/lnmp/mginx/conf/nginx.conf



[root@server1 ~]# vim /usr/local/lnmp/nginx/html/index.php #编辑index.php页面
phpinfo()
?>
[root@server1 ~]# vim /usr/local/lnmp/php/etc/php.ini #添加mysql.sock文件位置


  • Discuz的搭建
    [root@server1 ~]# unzip Discuz_X3.2_SC_UTF8.zip
    [root@server1 ~]# mv upload/ /usr/local/lnmp/nginx/html/




[root@server1 ~]# cd /usr/local/lnmp/nginx/html/upload
[root@server1 upload]# chmod 777 config/ data/ uc_client/ uc_server/ -R #更改这些目录下的所有为满权限






成功!

你可能感兴趣的:(lnmp)