首页 > 代码库 > LANMP框架搭建——源码编译
LANMP框架搭建——源码编译
所需要的源码包:
mariadb-5.5.46-linux-x86_64.tar.gz
httpd-2.4.9.tar.bz2
php-5.4.26.tar.bz2
nginx-1.8.1.tar.gz
编译mariadb:
[root@centos7 ~]# yum -y remove mariadb*
[root@centos7 ~]# tar xf mariadb-5.5.46-linux-x86_64.tar.gz -C /usr/local/
[root@centos7 ~]# cd /usr/local/
[root@centos7 local]# ln -sv mariadb-5.5.46-linux-x86_64 mysql ‘mysql’ -> ‘mariadb-5.5.46-linux-x86_64’
[root@centos7 local]# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)
[root@centos7 local]# cd mysql/
[root@centos7 mysql]# chown -R root:mysql ./* ——链接文件赋权规则
[root@centos7 mysql]# mkdir /mydata/data -p
[root@centos7 mysql]# chown -R mysql.mysql /mydata/data/
[root@centos7 mysql]# cp support-files/my-large.cnf /etc/my.cnf
[root@centos7 mysql]# vim /etc/my.cnf
添加:
datadir = /mydata/data
skip_name_resolve = ON
innodb_file_per_table = ON
[root@centos7 mysql]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@centos7 mysql]# chkconfig --add mysqld
[root@centos7 mysql]# scripts/mysql_install_db --user=mysql --datadir=/mydata/data
[root@centos7 mysql]# ls /mydata/data/
aria_log.00000001 mysqlmysql-bin.000002 performance_schema
aria_log_control mysql-bin.000001 mysql-bin.index test
[root@centos7 mysql]# service mysqld start
Starting MySQL.. SUCCESS!
[root@centos7 mysql]# ss -tnl
StateRecv-Q Send-Q Local Address:PortPeer Address:Port
LISTEN05192.168.122.1:53*:*
LISTEN0128*:22*:*
LISTEN0128127.0.0.1:631*:*
LISTEN0100127.0.0.1:25*:*
LISTEN0128:::22:::*
LISTEN0128::1:631:::*
LISTEN0100::1:25:::*
[root@centos7 mysql]# vim /etc/profile.d/mysql.sh ——命令调用
export PATH=/usr/local/mysql/bin:$PATH
[root@centos7 mysql]# chmod +x /etc/profile.d/mysql.sh
[root@centos7 mysql]# vim /etc/lb.so.conf.d/mysql.conf ——配置mysql的库
/usr/local/bin/lib
[root@centos7 mysql]# lbconfig
编译apache:
[root@centos7 ~]# yum groupinstall "Development Tools" "Server Platform Development" -y
[root@centos7 ~]# yum -y install pcre-devel openssl-devel zlib-devel
[root@centos7 ~]# tar xf httpd-2.4.9.tar.bz2
[root@centos7 ~]# cd httpd-2.4.9/
[root@centos7 httpd-2.4.9]# yum -y install apr-devel apr-util-devel
[root@centos7 httpd-2.4.9]# ./configure --prefix=/usr/local/apache24 --sysconfdir=/etc/httpd24--enable-so --enable-ssl -- enable-rewrite --with-zlib --with-pcre --with-apr=/usr --with-apr-util=/usr --enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
[root@centos7 httpd-2.4.9]# make -j 4 && make install
[root@centos7 profile.d]# cat /etc/profile.d/http24.sh
export PATH=/usr/local/apache24/bin:$PATH
[root@centos7 apache24]# . /etc/profile.d/httpd24.sh
编译php:
[root@centos7 ~]# yum -y install libxml2-devel libmcrypt-devel bzip2-devel
[root@centos7 ~]# tar xf php-5.4.26.tar.bz2
[root@centos7 ~]# cd php-5.4.26/
[root@centos7 php-5.4.26]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-png-dir --with-jpeg-dir --with-freetype-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --with-apxs2=/usr/local/apache24/bin/apxs --with-mcrypt --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2
[root@centos7 php-5.4.26]# make && make install
配置apache与php映射:
[root@centos7 php-5.4.26]# cp /root/php-5.4.26/php.ini-production /etc/php.ini
[root@centos7 php-5.4.26]# cd /etc/httpd24/
[root@centos7 httpd24]# cp httpd.conf{,.backup}
[root@centos7 httpd24]# vim httpd.conf
添加:
AddType application/x-httpd-php .php
DirectoryIndex index.php index.html
Listen 808 ——修改协议端口(因为这是自己编译的apache)
[root@centos7 httpd24]# apachectl stop
[root@centos7 httpd24]# apachectl start
[root@centos7 httpd24]# vim /usr/local/apache24/htdocs/index.php
[root@centos7 httpd24]# rm /usr/local/apache24/htdocs/index.html
[root@centos7 httpd24]# firefox http://localhost:808
编译nginx:
[root@centos7 ~]# tar xf nginx-1.8.1.tar.gz
[root@centos7 nginx-1.8.1]# ./configure --prefix=/usr/local/nginx --conf-path=/etc/nginx/nginx.conf --user=nginx --group=nginx --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --pid-path=/var/run/nginx.pid --lock-path=/var/lock/nginx.lock --with-http_ssl_module --with-http_gzip_static_module --with-debug --with-http_stub_status_module
[root@centos7 nginx-1.8.1]# make && make install
[root@centos7 nginx-1.8.1]# useradd nginx
root@centos7 nginx]# vim /etc/profile.d/nginx.sh
export PATH=/usr/local/nginx/sbin:$PATH
[root@centos7 nginx]# . /etc/profile.d/nginx.sh
[root@centos7 nginx]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@centos7 nginx]# nginx -h
nginx version: nginx/1.8.1
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]
Options:
-?,-h: this help
-v: show version and exit
-V: show version and configure options then exit
-t: test configuration and exit
-q: suppress non-error messages during configuration testing
-s signal: send signal to a master process: stop, quit, reopen, reload
-p prefix : set prefix path (default: /usr/local/nginx/)
-c filename : set configuration file (default: /etc/nginx/nginx.conf)
-g directives : set global directives out of configuration file
[root@centos7 html]# nginx ——启动nginx
配置nginx:
[root@centos7 html]# vim /etc/nginx/nginx.conf
添加:
upstream lamp { ——虚拟主机
server 127.0.0.1:808 weight=1 max_fails=2 fail_timeout=30s;
}
location / {
root /usr/local/apache24/htdocs ;
index index.html index.htm index.php;
}
location ~.*\.(php|jsp|cgi)?$ ——动态页面给lamp执行
{
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://lamp;
}
location ~.*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ ——静态页面自己执行
{
root /usr/local/apache24/htdocs;
expires 3d;
}
本文出自 “淼先森” 博客,请务必保留此出处http://zhaom0109.blog.51cto.com/11675013/1905959
LANMP框架搭建——源码编译