1、php下载解压后编码安装
遇到问题:解压安装报错 no acceptable C compiler found in $PATH 安装gcc后解决
安装:
下载路径:http://php.net/get/php-7.0.2.tar.gz/from/a/mirror
其中php版本可自己选择,但是所有可下载版本的页面路径没有找到。
官网直接下载路径:https://www.php.net/distributions/php-7.3.5.tar.bz2
wget https://www.php.net/distributions/php-7.3.5.tar.bz2
tar zxvf php-7.3.5.tar.bz2
cd php-7.3.5
//--disable-fileinfo 有利于减少内存
./configure --prefix=/usr/local/php --enable-fpm --with-curl --enable-session --with-mysql --with-mysqli --with-pdo_mysql --disable-fileinfo
//报错装gcc
yum install gcc
yum install gcc-c++
yum install gdb
//安装依赖 若之后实际使用按少了 可以再次用yum install安装 再编译执行 大概 ……
yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel mysql pcre-devel
//编译安装
make && make install
遇到问题:php7编译报错 内存超出
//加交换分区
dd if=/dev/zero of=/home/swap bs=1M count=2048
mkswap /home/swap
swapon /home/swap
//查看内存大小
free -m
//查看内存变化
free -h
遇到问题 : 找不到php.ini 及其他包含其字符串的文件名字
//查看php.ini位置/usr/local/php/bin中
./php --ini
//从源码复制
cp ~/php-7.3.5/php.ini-development /usr/local/php/bin/php.ini
//启动php-fpm
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf
cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf
/usr/local/php/sbin/php-fpm
验证启动成功
ps -ef |grep php-fpm
大概安装流程 为下载、解压、编译、执行
删除时直接删除安装目录 rm -rf 安装目录
搞破坏都是很容易……
2、nginx 或apache 安装
nginx
下载网址:http://nginx.org/download/nginx-1.16.0.tar.gz
wget http://nginx.org/download/nginx-1.16.0.tar.gz
cd nginx-1.16.0
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_v2_module --with-http_stub_status_module --with-pcre --with-http_gzip_static_module --with-http_dav_module --with-http_addition_module --with-http_sub_module --with-http_flv_module --with-http_mp4_module
//缺少模块
yum -y install openssl openssl-devel
make && make install
//加入环境变量
vi /etc/profile
//用英文冒号分隔多个路径
export PATH=$PATH:/usr/local/nginx/sbin
//启动
//校验配置文件
nginx -t
//加配置文件启动
nginx -c /usr/local/nginx/conf/nginx.conf
//重启 配置文件重新加载
nginx -s reload
//停止
nginx -s stop
//开80端口 若防火墙开80端口成功但无程序使用telnet仍然会失败
firewall-cmd --zone=public --add-port=80/tcp --permanent
//重启防火墙
systemctl stop firewalld.service
systemctl start firewalld.service
//开机自启动
cd /lib/systemd/system/
vim nginx.service
[Unit]
Description=nginx service
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl start nginx.service 启动nginx服务
systemctl stop nginx.service 停止服务
systemctl restart nginx.service 重新启动服务
systemctl list-units --type=service 查看所有已启动的服务
systemctl status nginx.service 查看服务当前状态
systemctl enable nginx.service 设置开机自启动
systemctl disable nginx.service 停止开机自启动
基本流程 在/lib/systemd/system 里加一个服务文件然后用centos7的systemctl命令操作 比较简单
3、web服务器连php
nginx
建立根目录文件
mkdir /var/www
改nginx.conf
vi /usr/local/nginx/conf/nginx.conf
修改内容 源文件为注释内容 并更改root 和fastcit_param 否则访问不到
location ~ \.php$ {
root /var/www; #指定php的根目录
fastcgi_pass 127.0.0.1:9000;#php-fpm的默认端口是9000
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
nginx重启
创建php文件
vi /var/www/index.php
<?php
phpinfo();
配置成功验证
访问http://yourip/index.php
3、数据库
mysql
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
tar -xf mysql-8.0.16-2.el7.x86_64.rpm-bundle.tar
解压后
依次安装 common client libs service
若安装时报错 可以根据信息进行个别软件的升级
当时报一个软件在该版本中被废弃 只能抑制报错 加 --nodeps --force 抑制报错
rpm -ivh mysql-community-common-8.0.16-2.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-8.0.16-2.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-8.0.16-2.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-8.0.16-2.el7.x86_64.rpm --nodeps --force
mysql 操作
/lib/systemd/system 里面有个 mysqld.service
systemctl status mysqld 也能运行
service mysqld start
service mysqld restart
service mysqld stop
systemctl start mysqld
systemctl restart mysqld
systemctl stop mysqld
systemctl status mysqld
mysql 改密码
初始密码位置
wheresis my.cnf
cat /etc/my.cnf
登录 mysql -uroot -p
自己的图没了借用下 Thanks♪(・ω・)ノ
mysql8.0 废弃了password函数
ALTER USER 'root'@'localhost' IDENTIFIED BY '你的密码';
4、php扩展
swoole编译安装
wget https://github.com/swoole/swoole-src/archive/v4.3.4.tar.gz
tar -xf v4.3.4.tar.gz
phpize
./configure
make && make install
编译后文件
find / -name swoole.so
/usr/local/php/lib/php/extensions/no-debug-non-zts-20180731/swoole.so
改php配置文件
find / -name php.ini
vi /usr/local/php/bin/php.ini
extension=swoole.so
redis编译安装
wget http://download.redis.io/releases/redis-5.0.5.tar.gz
tar -xf redis-5.05.tar.gz
mv redis-5.05 /usr/local
cd /usr/local
mv redis-5.05 redis
cd redis
./configure
make && make install
cd src
启动
./redis-server
再开一个链接(链接服务器的)
cd /usr/local/redis/src
redis-cli
自启动
修改其自带的启动脚本 需要修改为本地配置
vi /usr/local/redis/utils/redis_init_script
~
REDISPORT=6379 默认端口
EXEC=/usr/local/redis/src/redis-server
CLIEXEC=/usr/local/redis/src/redis-cli
PIDFILE=/var/run/redis_${REDISPORT}.pid
CONF="/usr/local/redis/redis.conf"
~
cp /usr/local/redis/utils/redis_init_script /etc/init.d/redisd
service redisd start
注:
lnmp或lamp集成包安装是方便但是编译安装能安装最新的
用yum安装需要改镜像 不同镜像不同版本
出于好奇,想查mysql8.0所有可用函数,可以去官网查但是自己英语水平不好……木有查到
linux 有个cmake命令 cmake后能够用make 安装php的时候更新了libzip 用到cmake 但是提示cmake低要求更新
php安装是 ./configure 全部安装正确后 根据参数 安装文件夹是有fpm的 源码有php.ini的备份文件
参考网址:
swoole安装:https://www.jianshu.com/p/462013f18177
redis自启动:https://blog.youkuaiyun.com/fukai8350/article/details/80775590
redis安装:https://www.cnblogs.com/butterflies/p/9628207.html
mysql8.0改密码 https://www.cnblogs.com/zgxblog/p/10708182.html
service详解: https://www.cnblogs.com/wuheng1991/p/7064067.html
service和systemctl区别:https://blog.youkuaiyun.com/weixin_41909810/article/details/82775247
nginx 连 php:https://www.cnblogs.com/jecyhw/p/5504855.html
php7 make内存报错:https://blog.youkuaiyun.com/god_for/article/details/50500342
centos7 systemctl详解:https://www.jianshu.com/p/828a40ae4bdd
centos7开机自启动:https://www.cnblogs.com/jepson6669/p/9131217.html
centos7开80端口:https://my.oschina.net/u/2337549/blog/1609797
nginx命令1:https://www.cnblogs.com/codingcloud/p/5095066.html
nginx命令2:https://blog.youkuaiyun.com/daipianpian/article/details/83034777
https://blog.youkuaiyun.com/z13615480737/article/details/79530334
http://phpstudy.php.cn/c.php/114641.html
configure脚本详解:https://www.jianshu.com/p/81916fba741c
php安装流程:https://blog.youkuaiyun.com/belen_xue/article/details/79418744
configure作用:https://blog.youkuaiyun.com/shenyanasop/article/details/9788145
https://www.jianshu.com/p/09db1a0e4160