基于服务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源码编译
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
推荐阅读
-
Linux下查看nginx apache mysql php的编译参数
-
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
-
基于服务mysql、php、nginx的源码编译
-
CentOS 6.6服务器编译安装lnmp(Nginx1.6.2+MySQL5.6.21+PHP5.6.3)
-
php直播平台源码基于 Nginx 搭建(rtmp、http)直播服务器
-
Linux下查看nginx apache mysql php的编译参数
-
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤_PHP
-
基于Nginx0.8.54+PHP5.3.4+MySQL5.5.8的全新LNMP稳定版架构搭建的VPS
-
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
-
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤_PHP