闲话少叙,直接开始
yum安装依赖
复制以下内容,回车直接安装编译php,nginx,mysql所需的依赖
sh
yum install -y\ kenel-devel gcc gcc-c++ patch\ perl-Module-Install.noarch libaio pcre-devel\ openssl-devel systemd-devel libacl-devel\ systemtap-sdt-devel libxml2-devel libcurl-devel\ libpng-devel libicu-devel
创建用户和组
注意此处的组创建和用户创建在后面编译安装中需要,当然可以根据个人习惯自己命名想要的组名和用户名
groupadd php-fpm
groupadd nginx
groupadd mysql
useradd -g php-fpm php-fpm
useradd -g nginx nginx
useradd -g mysql mysql
PHP(5.6)编译安装
prefix 根据个人习惯去修改一下,with-fpm-user(group)和前面创建的php相关用户保持一致
以下是编译配置参数
./configure --prefix=/data/soft/php\
--enable-fpm\
--with-fpm-user=php-fpm\
--with-fpm-group=php-fpm\
--with-fpm-systemd\
--with-fpm-acl\
--enable-mysqlnd\
--with-mysqli=mysqlnd\
--with-pdo-mysql=mysqlnd\
--enable-opcache\
--enable-pcntl\
--enable-soap\
--enable-sockets\
--enable-phpdbg\
--enable-dtrace\
--enable-calendar\
--enable-intl\
--enable-mbstring\
--enable-gd-native-ttf\
--enable-exif\
--enable-ftp\
--with-openssl\
--with-zlib\
--with-curl\
--with-gd\
--with-gettext
执行configure之后,make及make install即可
Nginx编译安装
同理 prefix可自由修改自己习惯的路径,user和group参数为之前创建的nginx用户和组
http_stub_status_module是nginx状态监控模块,比较有用
./configure --prefix=/data/soft/nginx\
--user=nginx\
--group=nginx\
--with-threads\
--with-http_ssl_module\
--with-http_spdy_module\
--with-http_realip_module\
--with-http_gzip_static_module\
--with-http_auth_request_module\
--with-http_stub_status_module
configure执行完毕之后make 然后 make install
Mysql的安装
去这个链接地址 http://dev.mysql.com/downloads/mysql/ 选择合适的linux generic版本下载
解压下载完毕后的压缩包(假设解压后的路径是/tmp/mysql-5.xx.xx)
mv /tmp/mysql-5.xx.xx /data/soft/mysql
修改/data/soft/mysql目录权限
chown -R mysql:mysql /data/soft/mysql
执行如下命令
cd /data/soft/mysql
./scripts/mysql_install_db --basedir=/data/soft/mysql --datadir=/data/soft/mysql/data --defaults-file=/data/soft/mysql/my.conf --user=mysql
sytemd的配置
- PHP-FPM的systemd配置
[Install]
#期望自启动的级别,也可以指定multi-user.target
WantedBy=default.target
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=notify
PIDFile=/data/soft/php/var/run/php-fpm.pid
ExecStart=/data/soft/php/sbin/php-fpm --nodaemonize --fpm-config /data/soft/php/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
- Nginx的systemd配置
[Unit]
Description= Nginx Server
After=syslog.target network.target
[Service]
Type=forking
PIDFile=/data/soft/nginx/nginx.pid
ExecStart=/data/soft/nginx/sbin/nginx -c /data/soft/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- Mysql的systemd配置
[Install]
WantedBy=multi-user.target
[Unit]
# 描述
Description=Mysqld Server (prefork MPM)
# 启动顺序在网络启动之后
After=syslog.target network.target
[Service]
User=mysql
Group=mysql
Type=simple
# 进程文件目录
PIDFile=/data/soft/mysql/data/mysql.pid
# 配置文件
# 下面三个参数名称是systemd固定的
ExecStart=/data/soft/mysql/bin/mysqld_safe --defaults-file=/data/soft/mysql/my.cnf --ledir=/data/soft/mysql/bin
ExecStop=kill -s -QUIT $MAINPID
# true表示创建进程独立的临时目录
PrivateTmp=true
[Install]
#期望自启动的级别,也可以指定multi-user.target
WantedBy=default.target
ok,基本完成,感觉systemd的配置还是不够完善,有熟悉的朋友请指正