linux 手动源码安装lnmp笔记(亲测)<pre>先安装这2个yum install gccyum install g++</pre>
<pre>
先在linux 安装libiconv 源码编译安装PHP有用
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz#tar xvf libiconv-1.14.tar.gz#cd libiconv-1.14# ./configure --prefix=/usr/local/libiconv# make# make install</pre>
<pre>1 先去PHP官网下个 php-5.6.29.tar.gz wget http://cn2.php.net/distributions/php-5.6.29.tar.gz2 ./configure --prefix=/usr/local/php --with-iconv=/usr/local/libiconv --enable-sysvsem --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --with-gd --with-openssl --with-mhash --enable-sockets --with-xmlrpc --with-zlib --enable-fpm --with-config-file-path=/usr/local/php/etc
--with-iconv=/usr/local/libiconv 这个路径就是上面libiconv安装的路径哈--with-mcrypt没指定路径就 就是说明PHP编译的时候回安装 指定的就直接用指定的
3 make 生成o文件 如果出现 undefined reference to `libiconv' 那就是 ./configure --prefix没设置好 make clean 后重新配置./configure ............
4 make install 安装
输入 php -v[root@iZbp11xke8lva3xk8b3qtnZ ~]# php -vPHP 5.6.29 (cli) (built: Jan 5 2017 10:37:51) Copyright (c) 1997-2016 The PHP GroupZend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
还要把php.ini放进去
先该下php.ini配置设置下默认市区date.timezone = "Asia/Shanghai"
cp /home/php-5.6.29/php.ini-production /usr/local/php/etc/php.ini
下面配置php-fpm<pre>进入/usr/local/php/etc目录cp php-fpm.conf.default php-fpm.conf</pre>
然后运行php-fpm -t 有没有报错 没有报错就行了
php-fpm直接启动就行netstat -ntlp查看端口 是否启动
</pre>
源码安装mysql<pre>(1)先安装cmake(mysql5.5以后是通过cmake来编译的)[root@ rhel5 local]#tar -zxv -f cmake-2.8.4.tar.gz[root@ rhel5 local]#cd cmake-2.8.4[root@ rhel5 cmake-2.8.4]#./configure[root@ rhel5 cmake-2.8.4]#make[root@ rhel5 cmake-2.8.4]#make install
/usr/local/bin/cmake --version 测试有没有安装成功
(2)创建mysql的安装目录及数据库存放目录[root@ rhel5~]#mkdir -p /usr/local/mysql //安装mysql [root@ rhel5~]#mkdir -p /usr/local/mysql/data //存放数据库
(3)创建mysql用户及用户组[root@ rhel5~]groupadd mysql[root@ rhel5~]useradd -r -g mysql mysql
(4)安装mysql# wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.34.tar.gz#tar zxvf mysql-boost-5.7.17.tar.gz#cd mysql-5.6.34#/usr/local/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all -DENABLED_LOCAL_INFILE=1[root@ rhel5 mysql-5.5.10]#make [root@ rhel5 mysql-5.5.10]#make install
设置目录权限# cd /usr/local/mysql# chown -R root:mysql . //把当前目录中所有文件的所有者所有者设为root,所属组为mysql# chown -R mysql:mysql datacp support-files/my-medium.cnf /etc/my.cnf //将mysql的启动服务添加到系统服务中
修改下my.cnf配置文件 添加如下 1个是mysql命令连接 1个是客户端的链接 因为都是socket连接mysql所以指定下socket路径<pre>[mysqld]socket=/tmp/mysql.sock[client]socket=/tmp/mysql.sock</pre>
创建系统数据库的表# cd /usr/local/mysql# scripts/mysql_install_db --user=mysql
# cd /usr/local/mysql
# ./bin/mysqld_safe --user=mysql & //启动MySQL,但不能停止
启动日志写在此文件下:/usr/local/mysql/data/localhost.err
设置环境变量[root@ rhel5~]# vi /root/.bash_profile
在PATH=$PATH:$HOME/bin添加参数为:
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib
#source /root/.bash_profile
关闭MySQL服务# mysqladmin -u root -p root//这里MySQL的root用户还没有配置密码,所以为空值。需要输入密码时,直接点回车键即可。
[root@ rhel5 mysql]# cp support-files/mysql.server /etc/init.d/mysql //将mysql的启动服务添加到系统服务中可以使用如下命令# service mysql start # service mysql stop# service mysql restart
修改MySQL的root用户的密码以及打开远程连接# mysql -u root mysql
mysql>use mysql;mysql>desc user;mysql> GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root"; //为root添加远程连接的能力。mysql>update user set Password = password('xxxxxx') where User='root';mysql>select Host,User,Password from user where User='root'; mysql>flush privileges;mysql>exit
重新登录:mysql -u root -p
若还不能进行远程连接,则关闭防火墙[root@ rhel5~]# /etc/rc.d/init.d/iptables stop
</pre>
下面安装nginx 安装下面软件只要安装目录没有文件就行先安装openssl软件<pre>wget http://down1.chinaunix.net/distfiles/openssl-1.0.0c.tar.gztar zxvf openssl-1.0.0c.tar.gzcd openssl-1.0.0c
./config --prefix=/usr/local/openssl --openssldir=/usr/local/openssl/confmake && make install#检验安装/usr/local/openssl/bin/openssl version -a </pre>
再安装安装pcre软件<pre>wget https://ncu.dl.sourceforge.net/project/pcre/pcre2/10.22/pcre2-10.22.tar.gztar zxvf pcre2-10.22.tar.gzcd pcre2-10.22./configure --prefix=/usr/local/pcre/make & make install</pre>
再安装安装zlib软件<pre>wget http://jaist.dl.sourceforge.net/project/libpng/zlib/1.2.10/zlib-1.2.10.tar.gztar zxvf zlib-1.2.10.tar.gzcd zlib-1.2.10./configure --prefix=/usr/local/zlib/make && make install</pre>
接下来安装nginx<pre>#添加www用户和组groupadd wwwuseradd -g www www
#创建网站根目录mkdir -p /var/www/root/chmod -R 775 /var/www/root/
#下载wget http://nginx.org/download/nginx-1.10.2.tar.gz#解压tar zxvf nginx-1.10.2.tar.gz#进入安装目录cd nginx-1.10.2
mkdir -p /home/pcre2-10.22/pcre210/.libscp /usr/local/lib/libpcre.a /home/pcre2-10.22/libpcre.acp //usr/local/lib/libpcre.a /home/pcre2-10.22/libpcre.lacp /usr/local/lib/libpcre.a /home/pcre2-10.22/.libs/libpcre.acp /usr/local/lib/libpcre.a /home/pcre2-10.22/.libs/libpcre.la
#配置(使用openssl、pcre、zlib的源码路径不是安装好的路径 切记!)./configure --user=www --group=www --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/home/openssl-1.0.0c --with-pcre=/home/pcre2-10.22 --with-zlib=/home/zlib-1.2.10 --with-http_stub_status_module --with-threads
#编译安装 (ps:安装可能pcre会报错 继续看看这个文件/home/pcre2-10.22/.libs/还有没有cp /usr/local/lib/libpcre.a /home/pcre2-10.22/.libs/libpcre.acp /usr/local/lib/libpcre.a /home/pcre2-10.22/.libs/libpcre.la)make && make install
#验证/usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.10.2built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) built with OpenSSL 1.0.0c 2 Dec 2010TLS SNI support enabledconfigure arguments: --user=www --group=www --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl=/home/openssl-1.0.0c --with-pcre=/home/pcre2-10.22 --with-zlib=/home/zlib-1.2.10 --with-http_stub_status_module --with-threads
修改配置文件
vi /usr/local/nginx/conf/nginx.conf
改默认跟目录和 默认首页location / { root /home/www; index index.php index.html index.htm; }
将其中的
location / { root html; index index.php index.html index.htm; }改为
location / { root /home/www; index index.php index.html index.htm; }
这个也要改成 访问PHP 让php-fpm端口处理 $document_root 代表当前请求在root指令中指定的值 location ~ \.php$ { root /home/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }
charset utf-8; 要改成utf-8然后重启nginx
切记/home/www这个目录一定要设置访问权限!!!!
启动、重启
#启动:/usr/local/nginx/sbin/nginx
#重启/usr/local/nginx/sbin/nginx -s reload停止
kill -9 nginx进程号
测试#测试端口 netstat -ntlp //看看80端口有没有运行#浏览器中测试 http://ip:80
ps:原理 nginx80端口接收到文件 会发到php-fpm端口 让他来解析处理PHP 并不是nginx端口解析处理php的
</pre>
看phpinfo Loaded Configuration File 如果none那就执行 给他执行加载的php.ini<pre>/usr/local/php/sbin/php-fpm -y /usr/local/php/etc/php-fpm.conf -c /usr/local/php/etc/php.ini</pre>
然后看没有mysql和mysqli扩展模块 那就直接进入php源码包ext里面 安装扩展 这样才能使用php函数链接mysqlps:装mysql前先yum -y install mysql-devel
接下来安装phpmyadminwget https://files.phpmyadmin.net/phpMyAdmin/3.5.8.2/phpMyAdmin-3.5.8.2-all-languages.zipunzip phpMyAdmin-3.5.8.2-all-languages.zipcd phpMyAdmin-3.5.8.2-all-languages
linux 手动源码安装lnmp(亲测)的更多相关文章
-
Linux中源码安装编译Vim
Linux中源码安装编译Vim Linux下学习工作少不了编辑器,Vim能使你的工作效率成倍的提高.在Ubuntu上安装vim使用命令直接安装很简单.但有时还是需要自己手动编译安装.例如: vim中的 ...
-
linux下源码安装netcat
linux下源码安装netcat http://blog.chinaunix.net/uid-20783755-id-4211230.html 1,下载netcat源码,netcat-0.7.1-13 ...
-
CENTOS6.5源码安装LNMP
CENTOS6.5源码安装LNMP 一.安装前准备 ########################################################################## ...
-
CentOS7(Linux)源码安装Redis
介绍 项目中经常需要用到Redis做缓存数据库,可是还有小伙伴不会在Linux上安装Redis,毕竟我们开发的项目都是要在服务器上运行的,今天就来讲讲如何在CentOS7环境使用源码进行安装Redis ...
-
源码安装LNMP与搭建Zabbix
系统环境:CentOS release 6.5 (Final) 搭建Zabbix 3.0对PHP环境要求>= 5.4 一.下载NMP的软件包: N:wget http://nginx.org/d ...
-
Linux MySQL源码安装缺少ncurses-devel包
在Red Hat Enterprise Linux Server release 5.7 上用源码安装MySQL-5.6.23时,遇到了" remove CMakeCache.txt and ...
-
linux(centos)源码安装git
最近使用一个开源库,部署的的时候需要用git克隆依赖库.刚好系统没安装git.就尝试了源码安装git. 源码下载地址:http://codemonkey.org.uk/projects/git-sna ...
-
linux下源码安装软件
在linux下的很多软件都是通过源码包方式发布的,这样做对于最终用户而言,虽然相对于二进制软件包,配置和编译起来繁琐点,但是它的可移植性却好得多,针对不同的体系结构,软件开发者往往仅需发布同一份源码包 ...
-
Linux系统源码安装过程中的prefix选项
在linux和unix环境中,源码安装是最常用的软件安装方式,一些软件除了提供源码外,也提供各种发行版的二进制安装包(如基于redhat包管理工具的rpm包),但强烈建议使用源码安装方式.原因是:(1 ...
随机推荐
-
SQL Server 导出数据到 PostgreSQL
乘着倒数据这会儿,把方法记录一下 需求:因为数据迁移,需要将SQL Server 2012中的数据库导入到PostgreSQL 数据库中 思路:创建一个空的数据库,便于导入数据.下载PostgreSQ ...
-
jboss7(01)服务器开启和关闭命令
1.简单开启服务器的命令:进入到 bin 目录下,输入 ./standalone.sh 命令. 这种开启服务器的方式有个缺点,当你的命令窗口关闭后,服务自动down了 2.让服务器开启后在后台运行:进 ...
-
ThinkPHP 3.2版本 , 无法读取$_SESSION[&#39;verify_code&#39;]
官方网站上写的是: 生成的验证码信息会保存到session中,包含的数据有: array('verify_code'=>'当前验证码的值','verify_time'=>'验证码生成的时间 ...
-
-_-#【Angular】自定义过滤器
AngularJS学习笔记 <!DOCTYPE html> <html ng-app="Demo"> <head> <meta chars ...
-
利用MiddleGen-hibernate-r5生成hbm文件及POJO文件
1 先决条件 1.1 已安装JDK(版本1.5以上)并配置环境变量 到http://java.sun.com上下载JDK,配置环境变量(我的电脑右键->属性->高级-&g ...
-
java环境变量设置--编写一年java,竟不会配变量了
java环境变量设置 1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Ja ...
-
C#语言基础——语句
1·语句是指程序命令,都是按照顺序执行的.语句在程序中的执行顺序称为"控制流"或"执行流".根据程序对运行时所收到的输入的响应,在程序每次执行时控制流可能有所不 ...
-
mybatis传入List实现批量更新
如果要在一个update里面执行多条更新语句,只需要在jdbc:url后面跟上allowMultiQueries=true的参数,比如: jdbc:mysql://127.0.0.1:3306/tes ...
-
js深复制
一般来讲深复制主要是为了复制js对象中的引用类型,引用类型在普通的赋值操作下相当于是引用,修改复制对象也会影响原对象,简单的方法的话可以使用JSON.parse(JSON.stringify(obj) ...
-
Mac下安装Pyqt
1.安装sip brew install sip 2.安装pyqt brew install pyqt