linux 基础学习编译安装php+mysql+python3+memcached+radis+rabbitmq+libevent+tcl+gcc+erlang
CentOS 6.9 编译安装 Nginx+PHP+MYSQL0x01 环境约束
源码位置 /home/[用户文件夹]
源码编译安装位置/usr/local/[软件名]
CentOS6.9 x86 - 64 最小化安装 配置好网络 用户 使用Xshell登录
0x02 软件下载
内网地址:
http://192.168.20.252/src/php.tar.gz
http://192.168.20.252/src/cmake.tar.gz
http://192.168.20.252/src/libmcrypt.tar.gz
http://192.168.20.252/src/mysql.tar.gz
http://192.168.20.252/src/nginx.tar.gz
http://192.168.20.252/src/pcre.tar.gz
0x03 安装前的准备
使用用户登录主机
su#将当前用户提升至root权限
yum update -y # 安装当前操作系统的最新补丁,确保系统是最新的
#以下是安装依赖组件,编译工具,库文件
yum install -y make apr* autoconf automake curl-devel gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel gd kernel keyutils patch perl kernel-headers compat* mpfr cpp glibc libg
omp libstdc++-devel ppl cloog-ppl keyutils-libs-devel libcom_err-devel libsepol-devel libselinux-devel krb5-devel libXpm* freetype lib libpng libpng-devel libxml2-devel wget screen cyrus-sasl-devel.x86_64
0x04 安装cmake
tar zxvf cmake.tar.gz
cd cmake-
./configure && make && make install
0x05 安装MySQL
groupadd mysql #添加mysql用户组
useradd -s /sbin/nologin -g mysql -r mysql #创建用户 mysql 并加入到mysql用户组 ,不允许mysql用户直接登录系统
mkdir -p /data/mysql #创建MySQL数据库文件存放目录
chown -R mysql:mysql /data/mysql #设置权限
tar zxvf mysql.tar.gz
cd mysql-
cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/data/mysql/ -DSYSCONFDIR=/etc#编译器编译前配置检查
make && make install #编译和安装
cd /usr/local/mysql
cp ./support-files/my-default.cnf /etc/my.cnf #拷贝配置文件
vi /etc/my.cnf #编辑配置文件在部分添加
datadir = /data/mysql #添加mysql数据库路径
./scripts/mysql_install_db --user=mysql #生成mysql系统数据库
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
datadir = /data/mysql
service mysqld start#启动mysql服务
vi /etc/profile #编辑系统环境变量 在末尾增加如下环境变量
export PATH = $PATH:/usr/local/mysql/bin
source /etc/profile #系统环境变量生效
#下面把mysql的库文件添加到系统的默认位置中,这样在编译php的时候,不用制定mysql的库文件地址
ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
ln -s /usr/local/mysql/include/mysql /usr/include/mysql
reboot #第一次重启
mysql_secure_installation #设置MySQL的 root用户密码
service mysqld restart #重启mysql服务
0x06 安装PCRE
tar zxvf pcre.tar.gz
cd pcre-
./configure --prefix=/usr/local/pcre && make && make install
0x07安装nginx
groupadd www
useradd -s /sbin/nologin -g www -r www
tar zxvf nginx.tar.gz
cd nginx-
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --with-openssl=/usr/ --with-pcre=/home/jue/pcre-8.41/
make && make install
vi /etc/init.d/nginx
[复制nginx启动脚本]
chmod 775 /etc/rc.d/init.d/nginx #设置运行权限
chkconfig nginx on
/etc/rc.d/init.d/nginx restart #重启nginx 只是为了测试
service nginx restart #重启nginx服务
0x08 安装 libmcrypt
tar zxvf libmcrypt.tar.gz
cd libmcrypt-
./configure && make && make install
0x09 安装php
tar zxvf php.tar.gz
cd php-
mkdir -p /usr/local/php
./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-gd --with-iconv --with-zlib --enable-xml --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curlwrappers --enable-mbregex --enable-fpm --enable-mbstring --enable-ftp --enable-gd-native-ttf --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-pear --with-gettext --enable-session --with-mcrypt --with-curl
make && make install
cp php.ini-production /usr/local/php/etc/php.ini
rm -rf /etc/php.ini
ln -s /usr/local/php/etc/php.ini /etc/php.ini
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
vi /usr/local/php/etc/php-fpm.conf#在这个文件中设置 3项
user = www
group = www
pid = run/php-fpm.pid #去掉了前面的分号
cp /home/feng/php-5.6.31/sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod 755 /etc/rc.d/init.d/php-fpm
chkconfig php-fpm on
vi /etc/php.ini
data.timezone = RPC #设置时区
0x10 配置nginx支持php
mkdir -p /home/wwwroot
chown -R www:www /home/wwwroot
vi /usr/local/nginx/conf/nginx.conf
user www www;
root /home/wwwroot #web根目录
index index.php index.html index.htm; #添加index.php
location ~ \.php$ {
root /home/wwwroot;
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
/etc/init.d/nginx restart
0x11测试
cd /home/wwwroot
vi index.php
chown -R www:www /home/wwwroot
curl http://127.0.0.1/
curl http://localhost/
配置python3
# wget http://192.168.40.66/python3.tar.gz
tar -zxvf python3.tar.gz
cd Python-3.6.2/
./configure --prefix=/usr/local/python3 && make && make install
ln -s /usr/local/python3/bin/python3.6 /usr/bin/python3
cd /home/ht
配置libevent 与 memcached
99wget http://192.168.100.252/src/libevent.tar.gz
100wget http://192.168.100.252/src/memcached.tar.gz
102tar -zxvf libevent.tar.gz
103cd libevent-2.1.8-stable/
104./configure --prefix=/usr/local/libevent
105make && make install
106cd ..
108tar -zxvf memcached.tar.gz
109cd memcached-1.5.0/
111./configure --prefix=/usr/local/memcached --enable-sasl --with-libevent=/usr/local/libevent && make && make install
cd /usr/local/python3/bin
./pip3.6 install python3-memcached
配置gcc
209wget http://192.168.100.252/src/gcc.tar.gz
210tar -zxvf gcc.tar.gz
211mkdir gccmake
213cd gcc-4.9.4/
214vi ./contrib/download_prerequisites
wget http://192.168.100.252/src/gcc/$MPFR.tar.bz2 || exit 1 (配置文件,改URL)
215./contrib/download_prerequisites
216cd ..
220cd gccmake
221../gcc-4.9.4/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
223make && make install
配置redis
cd /home/ht
224wget http://192.168.100.252/src/tcl.tar.gz
225wget http://192.168.100.252/src/redis.tar.gz
232tar -zxvf tcl.tar.gz
234cd tcl8.6.6/
236cd /home/ht
237rm -rf /usr/lib64/libstdc
239cp /home/ht/soft/gccmake/x86_64-unknown-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so /usr/lib64/libstdc++.so.
240rm -rf /usr/lib64/libstdc++.so.6
241ln -sv /usr/lib64/libstdc++.so /usr/lib64/libstdc++.so.6
242gcc -v
243cd /home/ht
246cd tcl8.6.6/
247cd unix
./configure
252make install && make install-private-headers
253cd ..
255tar -zxvf redis.tar.gz
257cd redis-3.2.10/
258make PREFIX=/usr/local/redis install
259cd /usr/local/redis/
260mkdir conf
261cd /home/jue/
263cd redis-3.2.10/
265cp redis.conf /usr/local/redis/conf
266cd ..
268ln -s /usr/local/mysql/lib/mysql /usr/lib/mysql
269ln -s /usr/local/mysql/include/mysql /usr/include/mysql
288./pip3.6 install python-redis (在 /usr/local/python3/bin 下)
配置erlang
394cd /home/ht
395ls
396mkdir rabbit
cd rabbit
399wget http://192.168.100.252/src/rabbitmq.tar.xz
400wget http://192.168.100.252/src/otp.tar.gz
401yum install kernel-devel m4 ncurses-devel openssl-devel
408tar -zxvf otp.tar.gz
411cd otp_src_20.0/
412./configure --prefix=/usr/local/erlang --with-ssl --enable-threads --enable-smmp-support --enable-kernel-poll --enable-hipe --without-javac
416make && make install
配置rabbit
450cd /usr/bin
452rm -rf python python2
453ll python*
455vim yum
470cd /usr/bin
471ln -sv /usr/local/python3/bin/python3.6 /usr/bin/python
484wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo ( 视察情况)(yum源)
485yum makecache(yum缓存)
525vi /etc/profile
526source /etc/profile
cd rabbit
442tar -xvf rabbitmq.tar.xz
534cd rabbitmq-server-3.6.10/
537yum install zip rsync libxslt -y
538make PREFIX=/usr/local/rabbitmq install
make && make install
539cd /usr/local/python3/bin
541./pip3.6 install simplejson
页:
[1]