博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
centos7源码塔建lnmp+redis环境
阅读量:5912 次
发布时间:2019-06-19

本文共 12434 字,大约阅读时间需要 41 分钟。

hot3.png

1.安装的前提:刚刚装完centos7系统  能连外网

下载所需要的所有安装包: 链接: 密码:of6k
  2.
关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

安装iptables防火墙

yum install iptables-services #安装

vi /etc/sysconfig/iptables #编辑防火墙配置文件

 

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

二、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

 

三 、系统约定

软件源代码包存放位置:/usr/local/src

源码包编译安装位置:/usr/local/软件名字

 

五、安装编译工具及库文件(使用yum命令安装)

yum install -y apr* autoconf automake bison bzip2 bzip2* cloog-ppl compat* cpp curl curl-devel fontconfig fontconfig-devel freetype freetype* freetype-devel gcc gcc-c++ gtk+-devel gd gettext gettext-devel glibc kernel kernel-headers keyutils keyutils-libs-devel krb5-devel libcom_err-devel libpng libpng-devel libjpeg* libsepol-devel libselinux-devel libstdc++-devel libtool* libgomp libxml2 libxml2-devel libXpm* libtiff libtiff* make mpfr ncurses* ntp openssl openssl-devel patch pcre-devel perl php-common php-gd policycoreutils telnet t1lib t1lib* nasm nasm* wget zlib-devel --skip-broken

 安装篇:

一、安装MySQL

1、安装cmake

cd /usr/local/src

tar zxf cmake-2.8.11.2.tar.gz

cd cmake-2.8.11.2

./configure

make && make install

2、安装MySQL

groupadd mysql #添加mysql组

useradd -g mysql mysql -s /bin/false #创建用户mysql并加入到mysql组,不允许mysql用户直接登录系统

mkdir -p /data/mysql #创建MySQL数据库存放目录

chown -R mysql:mysql /data/mysql #设置MySQL数据库存放目录权限

mkdir -p /usr/local/mysql #创建MySQL安装目录

cd /usr/local/src #进入软件包存放目录

tar zxf mysql-5.6.15.tar.gz #解压

cd mysql-5.6.15 #进入目录

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql -DSYSCONFDIR=/etc #配置

make && make install #安装

rm -rf /etc/my.cnf #删除系统默认的配置文件(如果默认没有就不用删除)

cd /usr/local/mysql #进入MySQL安装目录

./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql #生成mysql系统数据库

ln -s /usr/local/mysql/my.cnf /etc/my.cnf #添加到/etc目录的软连接

cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld #把Mysql加入系统启动

chmod 755 /etc/init.d/mysqld #增加执行权限

chkconfig mysqld on #加入开机启动

vi /etc/rc.d/init.d/mysqld #编辑

basedir=/usr/local/mysql #MySQL程序安装路径

datadir=/data/mysql #MySQl数据库存放目录

service mysqld start #启动

vi /etc/profile #把mysql服务加入系统环境变量:在最后添加下面这一行

export PATH=$PATH:/usr/local/mysql/bin

source /etc/profile

下面这两行把myslq的库文件链接到系统默认的位置,这样你在编译类似PHP等软件时可以不用指定mysql的库文件地址。

ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql

ln -s /usr/local/mysql/include/mysql /usr/include/mysql

mkdir /var/lib/mysql #创建目录

ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock #添加软链接

mysql_secure_installation #设置Mysql密码,根据提示按Y 回车输入2次密码

附加:配置mysql远程访问:

在本机先使用root用户登录mysql: mysql -u root -p"youpassword" 进行授权操作:

1.允许  root  用户在任何地方以   youpassword  的密码登录

mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

2.允许  liuhaizhuang  这个用户 在任何地方以  youpassword  的密码登录

mysql>GRANT ALL PRIVILEGES ON *.* TO 'liuhaizhuang'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

3.允许  liuhaizhuang  这个用户 在这个IP  192.168.122.122 上 以 youpassword  的密码登录

mysql>GRANT ALL PRIVILEGES ON *.* TO 'liuhaizhuang'@'192.168.122.122' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;

FLUSH PRIVILEGES;

exit

service mysqld restart

二、安装Nginx

1、安装pcre

cd /usr/local/src

mkdir /usr/local/pcre

tar zxf pcre-8.35.tar.gz

cd pcre-8.35

./configure --prefix=/usr/local/pcre

make && make install

2、安装openssl

cd /usr/local/src

mkdir /usr/local/openssl

tar zxf openssl-1.0.1h.tar.gz

cd openssl-1.0.1h

./config --prefix=/usr/local/openssl

make && make install

vi /etc/profile

export PATH=$PATH:/usr/local/openssl/bin

:wq!

source /etc/profile

3、安装zlib

cd /usr/local/src

mkdir /usr/local/zlib

tar zxf zlib-1.2.8.tar.gz

cd zlib-1.2.8

./configure --prefix=/usr/local/zlib

make && make install

4、安装Nginx

groupadd www

useradd -g www www -s /bin/false

cd /usr/local/src

tar zxf nginx-1.6.0.tar.gz

cd nginx-1.6.0

./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-openssl=/usr/local/src/openssl-1.0.1h --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.35

注意:--with-openssl=/usr/local/src/openssl-1.0.1h --with-zlib=/usr/local/src/zlib-1.2.8 --with-pcre=/usr/local/src/pcre-8.35指向的是源码包解压的路径,而不是安装的路径,否则会报错

make && make install

/usr/local/nginx/sbin/nginx #启动Nginx

关闭nginx:killall nginx

在浏览器中打开服务器IP地址,会看到下面的界面,说明Nginx安装成功。

图片

附加:nginx 平滑启动命令:

/usr/nginx/sbin/nginx -s reload 

三、安装php

1、安装yasm

cd /usr/local/src

tar zxf yasm-1.2.0.tar.gz

cd yasm-1.2.0

./configure

make && make install

2、安装libmcrypt

cd /usr/local/src

tar zxf libmcrypt-2.5.8.tar.gz

cd libmcrypt-2.5.8

./configure

make && make install

3、安装libvpx

cd /usr/local/src

tar xf libvpx-v1.3.0.tar.bz2

cd libvpx-v1.3.0

./configure --prefix=/usr/local/libvpx --enable-shared --enable-vp9

make && make install

4、安装tiff

cd /usr/local/src

tar zxf tiff-4.0.3.tar.gz

cd tiff-4.0.3

./configure --prefix=/usr/local/tiff --enable-shared

make && make install

5、安装libpng

cd /usr/local/src

tar zxf libpng-1.6.12.tar.gz

cd libpng-1.6.12

./configure --prefix=/usr/local/libpng --enable-shared

make && make install

6、安装freetype

cd /usr/local/src

tar zxf freetype-2.5.3.tar.gz

cd freetype-2.5.3

./configure --prefix=/usr/local/freetype --enable-shared

make && make install #安装

7、安装jpeg

cd /usr/local/src

tar zxf jpegsrc.v9a.tar.gz

cd jpeg-9a

./configure --prefix=/usr/local/jpeg --enable-shared

make && make install #安装

8、安装libgd

cd /usr/local/src

tar zxf libgd-2.1.0.tar.gz #解压

cd libgd-2.1.0 #进入目录

./configure --prefix=/usr/local/libgd --enable-shared --with-jpeg=/usr/local/jpeg --with-png=/usr/local/libpng --with-freetype=/usr/local/freetype --with-fontconfig=/usr/local/freetype --with-xpm=/usr/ --with-tiff=/usr/local/tiff --with-vpx=/usr/local/libvpx #配置  #上述/usr/local/*路径确保有,否则./configure不成功,make回报错   

make && make install #安装

9、安装t1lib

cd /usr/local/src

tar zxf t1lib-5.1.2.tar.gz

cd t1lib-5.1.2

./configure --prefix=/usr/local/t1lib --enable-shared

make without_doc

注意这步可能报错: fatal error: X11/Xaw/Label.h: No such file or directory
解决办法: 安装  libXaw-devel
运行命令:yum install libXaw-devel

make install

10、安装php

注意:如果系统是64位,请执行以下两条命令,否则安装php会出错(32位系统不需要执行)

ln -s /usr/lib64/libltdl.so /usr/lib/libltdl.so

\cp -frp /usr/lib64/libXpm.so* /usr/lib/

cd /usr/local/src

tar -zxf php-5.6.9.tar.gz

cd php-5.6.9

export LD_LIBRARY_PATH=/usr/local/libgd/lib

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-gd --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg --with-freetype-dir=/usr/local/freetype --with-xpm-dir=/usr/ --with-vpx-dir=/usr/local/libvpx/ --with-zlib-dir=/usr/local/zlib --with-t1lib=/usr/local/t1lib --with-iconv --enable-libxml --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --enable-opcache --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-mcrypt --with-curl --enable-ctype   #配置

make && make install   #安装

cp php.ini-production /usr/local/php/etc/php.ini  #复制php配置文件到安装目录

rm -rf /etc/php.ini  #删除系统自带配置文件

ln -s /usr/local/php/etc/php.ini /etc/php.ini   #添加软链接到 /etc目录

cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf  #拷贝模板文件为php-fpm配置文件

ln -s /usr/local/php/etc/php-fpm.conf /etc/php-fpm.conf  #添加软连接到 /etc目录

vi /usr/local/php/etc/php-fpm.conf #编辑

user = www #设置php-fpm运行账号为www

group = www #设置php-fpm运行组为www

pid = run/php-fpm.pid #取消前面的分号

:wq! #保存退出

设置 php-fpm开机启动

cp /usr/local/src/php-5.6.9/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm #拷贝php-fpm到启动目录

chmod +x /etc/rc.d/init.d/php-fpm #添加执行权限

chkconfig php-fpm on #设置开机启动

vi /usr/local/php/etc/php.ini #编辑配置文件

找到:disable_functions =

修改为:disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,ini_alter,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server,escapeshellcmd,dll,popen,disk_free_space,checkdnsrr,checkdnsrr,getservbyname,getservbyport,disk_total_space,posix_ctermid,posix_get_last_error,posix_getcwd, posix_getegid,posix_geteuid,posix_getgid, posix_getgrgid,posix_getgrnam,posix_getgroups,posix_getlogin,posix_getpgid,posix_getpgrp,posix_getpid, posix_getppid,posix_getpwnam,posix_getpwuid, posix_getrlimit, posix_getsid,posix_getuid,posix_isatty, posix_kill,posix_mkfifo,posix_setegid,posix_seteuid,posix_setgid, posix_setpgid,posix_setsid,posix_setuid,posix_strerror,posix_times,posix_ttyname,posix_uname

#列出PHP可以禁用的函数,如果某些程序需要用到这个函数,可以删除,取消禁用。

找到:;date.timezone =

修改为:date.timezone = PRC #设置时区

:wq! #保存退出

配置nginx支持php

vi /usr/local/nginx/conf/nginx.conf

修改/usr/local/nginx/conf/nginx.conf 配置文件,需做如下修改

user www www; #首行user去掉注释,修改Nginx运行组为www www;必须与/usr/local/php/etc/php-fpm.conf中的user,group配置相同,否则php运行出错

index index.html index.htm index.php; #添加index.php

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

#

location ~ \.php$ {

root html;

fastcgi_pass 127.0.0.1:9000;

fastcgi_index index.php;

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

include fastcgi_params;

}

#取消FastCGI server部分location的注释,注意fastcgi_param行的参数,改为$document_root$fastcgi_script_name,或者使用绝对路径

:wq! #保存退出

重启nginx:先执行:killall nginx 再执行:/usr/loca/nginx/sbin/nginx

service php-fpm start #启动php-fpm

测试篇

cd /usr/local/nginx/html/ #进入nginx默认网站根目录

rm -rf /usr/local/nginx/html/* #删除默认测试页

vi index.php #新建index.php文件

<?php

phpinfo();

?>

:wq! #保存退出

chown www.www /usr/local/nginx/html/ -R #设置目录所有者

chmod 700 /usr/local/nginx/html/ -R #设置目录权限

在浏览器中打开服务器IP地址,会看到下面的界面

图片

测试mysql数据库连接

mysql -uroot -p123456

11.安装redis以及php redis扩展
下载redis: 

 cd /usr/local/src/

 tar -zxf redis-2.8.17.tar.gz
 cd redis-2.8.17/
make
mkdir -p /usr/local/redis
cd /usr/local/src/redis-2.8.17/src
cp redis-server redis-cli /usr/local/redis/
cd  /usr/local/src/redis-2.8.17
cp redis.conf /usr/local/redis/
修改redis 配置文档 让redis以守护进程方式运行:
/usr/local/redis
vim redis.conf
把 daemonize no 改为下图
图片
 

wq!

启动redis服务器:
/usr/local/redis/redis-server redis.conf
测试redis:
进入redis-cli:
/usr/local/redis/redis-cli
图片 
redis安装成功!
12.安装php redis扩展
下载phpredis 扩展包 上传到linux并解压:
cd /usr/local/src
tar zxf phpredis.tar.gz
进入phpredis源码目录执行php的bin目录下的一个工具叫phpize:
cd phpredis/
/usr/local/php/bin/phpize
图片
配置并编译安装phpredis:
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
安装结束后会在:/usr/local/php/lib/php/extensions/no-debug-non-zts-20131226/目录下生成redis.so文件
图片 
打开php.ini配置文件 加上如下即可:
图片
重启php-fpm即可
service php-fpm restart
到此php redis扩展安装完毕! 

如果报如下错误:MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.解决办法:127.0.0.1:6379> config set stop-writes-on-bgsave-error noOK

13.安装swoole扩展库

# 下载cd /usr/local/srcwget https://github.com/swoole/swoole-src/archive/swoole-1.7.6-stable.tar.gz # 解压 编译 安装tar zxvf swoole-1.7.6-stable.tar.gzcd swoole-1.7.6-stable.tar.gz/usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmake && make install

配置php.ini文件,添加如下

extension=swoole.so

重启php-fpm

service php-fpm restart

14.安装phalcon扩展库(特别注意,这个库需要的服务器内存比较大,如果服务器内存比较小有可能编译报内存溢出的错误)

# 下载cd /usr/local/srcgit clone --depth=1 git://github.com/phalcon/cphalcon.git# 编译 安装cd /usr/local/src/cphalcon/build/php5/64bits//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmake && make install

配置php.ini文件,添加如下

extension=phalcon.so

重启php-fpm

service php-fpm restart

 

转载于:https://my.oschina.net/u/3223370/blog/1377382

你可能感兴趣的文章
为什么要用IPython/Jupyter?
查看>>
数据可视化之 Sankey 桑基图的实现
查看>>
项目实战-Api的解决方案
查看>>
前端面试题总结
查看>>
(三)从jvm层面了解线程的启动和停止
查看>>
SOA和微服务之间的区别
查看>>
IBM提出8位深度网络训练法,提速4倍同时保持高精度
查看>>
苹果发布Core ML 2
查看>>
“智能云”战略新品震撼发布,开发者如何快速上手?
查看>>
华为吴晟:分布式监控系统的设计与实现
查看>>
[deviceone开发]-do_Webview的基本示例
查看>>
亚马逊Alexa借助神经网络生成播音员声音
查看>>
比特大陆新一轮裁员50%,回应称系人员调整
查看>>
将 Measurements 和 Units 应用到物理学
查看>>
如何确定所运行的 SQL Server 2005 的版本?
查看>>
我的友情链接
查看>>
自动化安装Mysql5.6-脚本实现
查看>>
分布式事务:不过是在一致性、吞吐量和复杂度之间,做一个选择
查看>>
【云图】如何设置支付宝里的家乐福全国连锁店地图?
查看>>
对于json_lib包的使用
查看>>