欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

基于服务mysql、php、nginx的源码编译

程序员文章站 2022-07-12 11:48:40
...

php的源码编译
解压:

php源码安装
1.下载 php-5.6.35.tar.bz2 gd-devel-2.0.35-11.el6.x86_64.rpm     libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel-2.5.8-9.el6.x86_64.rpm
2.yum install libxml2-devel openssl-devel curl-devel gd-devel-2.0.35-11.el6.x86_64.rpm gmp-devel libmcrypt-2.5.8-9.el6.x86_64.rpm libmcrypt-devel-2.5.8-9.el6.x86_64.rpm net-snmp-devel -y
rpm -ivh re2c-0.13.5-1.el6.x86_64.rpm
3../configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc --with-mysql=mysqlnd --enable-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-mcrypt --with-mhash
4.make
5.make install
6.cd /usr/local/lnmp/php/etc/
7.cp php-fpm.conf.default php-fpm.conf
8.cd
9.cd php-5.6.35
10.cp php.ini-production /usr/local/lnmp/php/etc/php.ini
11.cd /usr/local/lnmp/php/etc/
12.vim php.ini
将时区改成 Asia/Shanghai
     935 ; http://php.net/date.timezone
     936 date.timezone = Asia/Shanghai
13.vim php-fpm.conf
    24 ; Default Value: none
    25 pid = run/php-fpm.pid
    149 user = nginx
    150 group = nginx
14.useradd -M -d /usr/local/lnmp/nginx -s /sbin/nologin nginx
15.cd 
16.cd php-5.6.35/sapi/fpm/
17.cp init.d.php-fpm  /etc/init.d/php-fpm
18.chmod +x /etc/init.d/php-fpm
19./etc/init.d/php-fpm start

基于服务mysql、php、nginx的源码编译
基于服务mysql、php、nginx的源码编译
基于服务mysql、php、nginx的源码编译
mysql源码编译

mysql源码编译
1.下载cmake-2.8.12.2-4.el6.x86_64.rpm 和mysql-boost-5.7.17.tar.gz
2.yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y ##用yum安装可以解决软件依赖性
3.tar zxf mysql-boost-5.7.17.tar.gz  ###解压
4.cd mysql-5.7.17/
5.执行:
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
#安装目录
-DMYSQL_DATADIR=/usr/local/mysql/data \
#数据库存放目录
-DMYSQL_UNIX_ADDR=/usr/local/mysql/data/mysql.sock \ #Unix socket 文件路径
-DWITH_MYISAM_STORAGE_ENGINE=1 \
#安装 myisam 存储引擎
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
#安装 innodb 存储引擎
-DDEFAULT_CHARSET=utf8 \
#使用 utf8 字符
-DDEFAULT_COLLATION=utf8_general_ci \
#校验字符
-DEXTRA_CHARSETS=all \
#安装所有扩展字符集
-DWITH_BOOST=boost/boost_1_59_0/

6.直接执行完上面命令后,会报错,要解决一系列依赖性
用yum安装以下依赖性:
yum install gcc gcc-c++ ncurses-devel -y
安装完这些依赖性后,也会执行成功,但是会有warning
要想消除warning,在下载一个依赖性,就可以解决
yum install bison -y
7.删除cmake缓存文件,因为编译时会优先读取cmake缓存文件,要将缓存文件删了,重新编译
8.再次执行5的命令,这次会执行成功
9.cmake完成后,执行make
#####make过程非常慢
10.最后执行make install

11.cd /usr/local/lnmp/mysql/support-files/
12.cp my-default.cnf /etc/my.cnf
13.vim /etc/my.cnf
     18 basedir = /usr/local/lnmp/mysql
     19 datadir = /usr/local/lnmp/mysql/data
     20 port = 3306
     22 socket = /usr/local/lnmp/mysql/data/mysql.sock
14.cp mysql.server /etc/init.d/mysqld
15.groupadd -g 27 mysql
useradd -u 27 -g 27 -M -d /usr/local/lnmp/mysql/data -s /sbin/nologin mysql
16.cd /usr/local/lnmp/mysql/
17.chown mysql.mysql . -R
18.cd
19.vim .bash_profile
     10 PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin
20.source .bash_profile
21.cd /usr/local/lnmp/mysql/
22.mysql --initialize --user=mysql   ###初始化
执行完这条命林后,会弹出很多行数据,复制最后一条冒号后生成的密码
23.此时,mysqld服务已经可以开启关闭了
24.cd /usr/local/lnmp/mysql/
25.chown root.root . -R
26.chown mysql data/ -R
27.打开mysqld  /etc/init.d/mysqld start
28.mysql_secure_installation
(1)在第一次交互请求后面输入刚刚初始化时复制的密码
(2)然后输入两次新密码
(3)接下来的交互式请求可以直接回车,这条交互式请求是询问你是否要检查密码强度,如果输入y,就要重新修改密码,密码长度必须超过8位,必须有大小写字母,所以我们直接回车
(4)接下来会询问是否要修改root密码,直接回车,因为上面已经设置过了
(5)接下来全部输入y回车就行
29.现在就可以直接进入mysql了
mysql -p
输入设置的密码进入就行

nginx的原码安装结合php

1.下载nginx-1.10.1.tar.gz nginx-sticky-module-ng.tar.gz
2.tar zxf nginx-1.10.1.tar.gz
3.tar zxf nginx-sticky-module-ng.tar.gz
4.cd nginx-1.10.1
5.vim src/core/nginx.h
    #去掉版本号
    14 #define NGINX_VER          "nginx"
6.cd
cd nginx-1.10.1
vim auto/cc/gcc
注释掉debug
    178 # debug
    179 #CFLAGS="$CFLAGS -g"
7../configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --user=nginx --group=nginx --with-threads --with-file-aio
8.上条命令执行时会报错,根据报错我们需要下载pcre-devel
9.再次执行7中的命令
10.make && make install
11.cd /usr/local/lnmp/nginx/conf/
vim nginx.conf
  12 events {
  13     worker_connections  65535;
  14 }

  65         location ~ \.php$ {
  66             root           html;
  67             fastcgi_pass   127.0.0.1:9000;
  68             fastcgi_index  index.php;
  69         #    fastcgi_param  SCRIPT_FILENAME  /scripts  $fastcgi_script_name;
  70             include        fastcgi.conf;
  71         }

出来后

12.vim /etc/security/limits.conf
最后一行写入:
nginx   -   nofile     65536
13.vim ~/.bash_profile
写入:
    10 PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/ local/lnmp/nginx/sbin
14.source ~/.bash_profile
15.nginx -t
16.nginx
17.默认发布目录在 : /usr/local/lnmp/nginx/html/
18.vim index.php
写入:
<?php
phpinfo()
?>
19.在浏览器中访问172.25.6.1访问的是nginx
172.25.6.1/index.php访问的是php
相关标签: mysql源码编译