LNMP架构搭建-----源码编译(MYSQL,PHP,nginx)

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。

(1) Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
(2)Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
(3)Mysql是一个小型关系型数据库管理系统。 PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
(4)这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。

一.MYSQL数据库的源码编译

(一)编译源码
1.得到mysql数据库的源码包(建议一般去官网下载)并进行解压

[root@server1 ~]# mkdir /usr/local/lnmp    建立该目录指定mysql的安装位置

2.安装源码编译工具cmake(支持编译C++语言)
cmake跨平台工具是用来预编译mysql源码的,用于设置mysql的编译参数。如:安装目录、数据存放目录、字符编码、排序规则等

3.创建预编译环境,可以定制即加上自己所需的安装条件(比如安装位置等等)

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql   \指定mysql的安装位置
          -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data   \数据库中数据存放的目录
          -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock  \链接数据库的SOCKET文件
          -DWITH_MYISAM_STORAGE_ENGINE=1   \ 安装MYISAM存储引擎
          -DWITH_INNOBASE_STORAGE_ENGINE=1 \ 安装 innodb 存储引擎 
          -DENABLED_LOCAL_INFILE=1   \ 允许从本地导入数据
          -DWITH_PARTITION_STORAGE_ENGINE=1   \ 安装分区存储引擎
          -DWITH_SSL=yes   \ 支持SSL加密
          -DDEFAULT_CHARSET=utf8   \  使用UTF-8字符编码
          -DDEFAULT_COLLATION=utf8_general_ci   \  校验字符
          -DEXTRA_CHARSETS=all   \ 安装所有扩展字符集
          -DMYSQL_TCP_PORT=3306   \ MYSQL监听端口
[root@server1 mysql-5.7.17]#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=boost/boost_1_59_0

4.在初次编译后,我们会发现有许多依赖性未安装,一个一个解决依赖项,预编译环境配置完成

yum install gcc -y
yum install gcc-c++ -y
yum install bison -y
yum install ncurses-devel -y
rm -fr CMakeCache.txt   
# 一次编译完成后,会提示我们删除所在目录下的CMakeCache.txt文件,才能清除上次编译的缓存,从而开始新的编译
yum install openssl-devel -y

5.编译汇编

ot@server1 ~]# cd mysql-5.7.17/
[root@server1 mysql-5.7.17]# make
[root@server1 mysql-5.7.17]# make install


make & make install

(二)配置MYSQL
1.进入源码编译目录,再进入mysql安装的位置,将编译完成的默认配置文件放在/etc下

root@server1 mysql-5.7.17]# cd
[root@server1 ~]# cd /usr/local/
[root@server1 local]# cd lnmp/
[root@server1 lnmp]# ls
mysql
[root@server1 lnmp]# cd mysql/
[root@server1 mysql]# ls
bin  COPYING  docs  include  lib  man  mysql-test  README  share  support-files

[root@server1 ~]# cd mysql-5.7.17/
[root@server1 mysql-5.7.17]# cd support-files/
[root@server1 support-files]# yum remove mysql -y
[root@server1 support-files]# cp mysql.server /etc/init.d/mysqld 

2.配置mysql服务

[root@server1 support-files]# cd /etc/init.d/
[root@serv
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是使用docker-compose搭建lnmp的步骤: 1.创建一个项目目录,例如lnmp,进入该目录并创建一个docker-compose.yml文件。 2.在docker-compose.yml文件中定义三个服务:nginxphpmysql。其中,nginx服务使用官方的nginx镜像,php服务使用自己编译php-fpm镜像,mysql服务使用官方的mysql镜像。 3.在docker-compose.yml文件中定义三个网络:frontend、backend和mysql。其中,frontend网络用于连接nginxphp服务,backend网络用于连接phpmysql服务,mysql网络用于连接mysql服务。 4.在docker-compose.yml文件中定义三个卷:nginx-conf、nginx-logs和php-src。其中,nginx-conf卷用于存放nginx的配置文件,nginx-logs卷用于存放nginx的日志文件,php-src卷用于存放php代码。 5.在docker-compose.yml文件中定义三个环境变量:MYSQL_ROOT_PASSWORD、MYSQL_DATABASE和MYSQL_USER。其中,MYSQL_ROOT_PASSWORD用于设置mysql的root用户密码,MYSQL_DATABASE用于设置mysql的默认数据库,MYSQL_USER用于设置mysql的普通用户。 6.在docker-compose.yml文件中定义三个挂载点:./nginx.conf:/etc/nginx/nginx.conf、./nginx-logs:/var/log/nginx和./php-src:/var/www/html。其中,./nginx.conf用于挂载nginx的配置文件,/nginx-logs用于挂载nginx的日志文件,./php-src用于挂载php代码。 7.在项目目录中创建一个nginx.conf文件,用于配置nginx的虚拟主机。 8.在项目目录中创建一个index.php文件,用于测试php服务是否正常工作。 9.在项目目录中运行docker-compose up命令,启动lnmp服务。 10.在浏览器中访问http://localhost,即可看到php服务返回的内容。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值