热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CentOS7下PHP&Nginx&Mysql编译安装及sytemd配置

闲话少叙,直接开始yum安装依赖复制以下内容,回车直接安装编译php,nginx,mysql所需的依赖shyuminstall-y\kenel-develgccgcc-c++pat

闲话少叙,直接开始

yum安装依赖

复制以下内容,回车直接安装编译php,nginx,mysql所需的依赖

shyum 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的配置还是不够完善,有熟悉的朋友请指正


推荐阅读
author-avatar
雪国文话天下
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有