- 切换php版本
- 安装nginx并设置开机自启动
- 安装mysql5.7.31
- For advice on how to change settings please see
- Remove leading # and set to the amount of RAM for the most important data
- cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
- innodb_buffer_pool_size = 128M
- Remove leading # to turn on a very important data integrity option: logging
- changes to the binary log between backups.
- log_bin
- Remove leading # to set options mainly useful for reporting servers.
- The server defaults are faster for transactions and fast SELECTs.
- Adjust sizes as needed, experiment to find the optimal values.
- join_buffer_size = 128M
- sort_buffer_size = 2M
- read_rnd_buffer_size = 2M
- Disabling symbolic-links is recommended to prevent assorted security risks
- 安装PHP7.3
- 安装Git
- 安装swoole
- 安装redis
- 修改linux环境变量
基于centos8进行测试
切换php版本
ls /usr/bin/php -al //查看当前指向php版本路径rm -rf /usr/bin/php //删除当前软连接ln -s /www/server/php/74/bin/php /usr/bin/php //新建软连接
安装nginx并设置开机自启动
安装
yum install nignx //安装service nginx start //启动nginx服务systemctl enable nginx.service //设置开机自启动netstat -anp |grep :80 //查看80端口监听情况
安装目录/etc/nginx
php项目存放目录(var下新建www目录)
开放端口
//查看已开放的端口:firewall-cmd --list-ports//默认80端口加入防火墙访问白名单中:firewall-cmd --permanent --zone=public --add-port=80/tcp使用命令使其生效:firewall-cmd --reload
常见问题
在www目录下新建项目,并新建index.php文件测试,访问端口,发现404并自动下载index.php文件:(编辑nginx.conf配置文件)
location / {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $fastcgi_script_name;include fastcgi_params;}
安装mysql5.7.31
下载并安装MySQL
[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。
[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm
之后就开始安装MySQL服务器:
[root@localhost ~]# yum -y install mysql-community-server
注意:这步会耗费很长时间,最好手动去中科大网站下载
http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/
下载完上传到/var/cache/dnf/mysql57-community-65b9ecb4cc6a2553/packages,这个文件夹可以使用find / -name mysql命令查看。上传完之后再次执行
yum -y install mysql-community-server
MySQL数据库设置
首先启动MySQL
[root@localhost ~]# systemctl start mysqld.service
查看MySQL运行状态:
[root@localhost ~]# systemctl status mysqld.service
此时MySQL已经开始正常运行,不过要想进入MySQL还得先找出此时root用户的密码,通过如下命令可以在日志文件中找出密码:
[root@localhost ~]# grep "password" /var/log/mysqld.log
如下命令进入数据库:
[root@localhost ~]# mysql -uroot -p
输入初始密码,此时不能做任何事情,因为MySQL默认必须修改密码之后才能操作数据库:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';
这里有个问题,新密码设置的时候如果设置的过于简单会报错,如果要允许设置简单密码需要修改mysql的配置。
更新mysql的语言
首先重新登录mysql,然后输入status:
cd /etc //进入etc目录vi my.conf //打开my.conf文件,新增4行代码
[client] default-character-set=utf8
For advice on how to change settings please see
[mysqld] #
Remove leading # and set to the amount of RAM for the most important data
cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
innodb_buffer_pool_size = 128M
#
Remove leading # to turn on a very important data integrity option: logging
changes to the binary log between backups.
log_bin
#
Remove leading # to set options mainly useful for reporting servers.
The server defaults are faster for transactions and fast SELECTs.
Adjust sizes as needed, experiment to find the optimal values.
join_buffer_size = 128M
sort_buffer_size = 2M
read_rnd_buffer_size = 2M
datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock character-set-server=utf8 collation-server=utf8_general_ci
Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
保存更改后的my.cnf文件后,重启下mysql,然后输入status再次查看,你就会发现变化啦
service mysqld restart
最终安装目录/usr/bin/mysql
安装PHP7.3
下载
cd /usr/local/src# wget -O 下载并重命名为wget -O php-7.3..tar.gz http://php.net/get/php-7.3.2.tar.gz/from/a/mirror# 解压tar -xvzf php-7.3..tar.gz
配置
cd php-7.3.2yum -y install libcurl-develyum -y install libXpm-develyum -y install libxml2-devel./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-pdo-mysql=/usr/bin/mysql --with-mysqli=/usr/bin/mysql_config --with-mysql-sock=/tmp/mysql.sock --with-pdo-mysql=/usr/bin/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-zlib-dir=/usr/local/zlib --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 --with-openssl --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --without-pear --with-gettext --enable-session --with-curl --enable-ctype
注意:—with-pdo-mysql=/usr/bin/mysql —with-mysqli=/usr/bin/mysql_config —with-mysql-sock=/tmp/mysql.sock —with-pdo-mysql=/usr/bin/mysql这几个目录要写对。
如果提示:configure: error: jpeglib.h not found
yum -y install libjpeg-turbo-devel.x86_64
如果提示:configure: error:png.h not found
yum install libpng-devel
如果提示:configure: error: freetype-config not found.
yum install freetype-devel
如果提示:Error: mysql_config not found
cd /usr/local#下载mysql-community-develwget https://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql-community-devel-5.7.31-1.el7.x86_64.rpmrpm -ivh mysql-community-devel-5.7.31-1.el7.x86_64.rpm
安装完发现/usr/bin下出现了mysql_config文件,继续执行./configure命令串
如果提示:configure: error: off_t undefined; check your library configuration
# 添加搜索路径到配置文件echo '/usr/local/lib64/usr/local/lib/usr/lib/usr/lib64'>>/etc/ld.so.conf# 更新配置ldconfig -v
安装
make && make install#删除临时文件make cleanmake distclean
配置PHP
到之前编译的源码包中将 php.ini-production 复制到 /usr/local/php/php.ini
cp php.ini-production /usr/local/php/php.ini
复制启动脚本
cp ./sapi/fpm/init.d.php-fpm.in /etc/init.d/php-fpmchmod +x /etc/init.d/php-fpm
修改php-fpm配置文件
cd /usr/local/php/etccp php-fpm.conf.default php-fpm.confvim php-fpm.conf
去掉pid = run/php-fpm.pid前面的分号。:wq! 保存并退出。
修改/etc/init.d/php-fpm
将
php_fpm_BIN=@sbindir@/php-fpm php_fpm_CONF=@sysconfdir@/php-fpm.conf php_fpm_PID=@localstatedir@/run/php-fpm.pid
改成
php_fpm_BIN=/usr/local/php/sbin/php-fpm php_fpm_CONF=/usr/local/php/etc/php-fpm.conf php_fpm_PID=/usr/local/php/var/run/php-fpm.pid
执行
chmod +x /etc/init.d/php-fpmchkconfig --add php-fpmchkconfig php-fpm on
如果出现:
WARNING: Nothing matches the include pattern ‘/usr/local/php/etc/php-fpm.d/*.conf’ from /usr/local/php/etc/php-fpm.conf at line 143
执行:
# cd /usr/local/php/etc/php-fpm.d/# cp www.conf.default www.conf# /usr/local/php/sbin/php-fpm -t[12-Oct-2017 08:33:29] NOTICE: configuration file /usr/local/php/etc/php-fpm.conf test is successful[root@localhost php-fpm.d]# service php-fpm startStarting php-fpm done
建立软连接,将PHP添加到环境变量
ln -s /usr/local/php/bin/php /usr/sbin/php
安装Git
yum -y install git
yum安装git被安装在/usr/libexec/git-core目录
安装swoole
下载安装
1、wget https://github.com/swoole/swoole-src/archive/v4.4.16.tar.gz ## 下载2、tar -zvxf v4.4.16.tar.gz ## 解压到当前目录3、cd swoole-src-4.4.16/ ## cd目录4、phpize ## 使用phpize创建php编译检测脚本 ./configure5、./configure --with-php-config=/usr/local/php/bin/php-config --enable-openssl ## 创建编译文件,第一个--with,后面是php的安装路径/bin/php-config ,第二个--enable,是开启swoole的ssl功能6、sudo make && make install ## 编译swoole并把编译好的文件移动到php的扩展目录(前面的配置php版本的扩展目录) 需要root权限
这个时候已经安装成功,需要进入php.ini,在最后面增加上:
extension=swoole.so
成功安装swoole,通过php --ri swoole查看swoole扩展的信息:
swoole
Swoole => enabled Author => Swoole Team team@swoole.com Version => 4.4.16 Built => Jan 21 2021 15:22:51 coroutine => enabled epoll => enabled eventfd => enabled signalfd => enabled cpu_affinity => enabled spinlock => enabled rwlock => enabled openssl => OpenSSL 1.1.1g FIPS 21 Apr 2020 pcre => enabled zlib => 1.2.11 mutex_timedlock => enabled pthread_barrier => enabled futex => enabled async_redis => enabled
Directive => Local Value => Master Value swoole.enable_coroutine => On => On swoole.enable_library => On => On swoole.enable_preemptive_scheduler => Off => Off swoole.display_errors => On => On swoole.use_shortname => On => On swoole.unixsock_buffer_size => 8388608 => 838860
常见问题
phpize 命令不存在
yum install php-devel
Extension ‘swoole’ not present
解决:
将/usr/local/php中的php.ini文件复制到/usr/local/php/etc目录中
安装redis
安装
1.获取redis资源wget http://download.redis.io/releases/redis-4.0.8.tar.gz2.解压tar xzvf redis-4.0.8.tar.gz3.安装cd redis-4.0.8makecd srcmake install PREFIX=/usr/local/redis4.移动配置文件到安装目录下cd ../mkdir /usr/local/redis/etcmv redis.conf /usr/local/redis/etc5.配置redis为后台启动vi /usr/local/redis/etc/redis.conf //将daemonize no 改成daemonize yes6.将redis加入到开机启动vi /etc/rc.local //在里面添加内容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是开机调用这段开启redis的命令)7.开启redis/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf8.将redis-cli,redis-server拷贝到bin下,让redis-cli指令可以在任意目录下直接使用cp /usr/local/redis/bin/redis-server /usr/local/bin/cp /usr/local/redis/bin/redis-cli /usr/local/bin/
设置redis密码
a.运行命令:redis-cli
b.查看现有的redis密码(可选操作,可以没有)
运行命令:config get requirepass 如果没有设置过密码的话运行结果会如下图所示
c.设置redis密码
运行命令:config set requirepass ****(为你要设置的密码),设置成功的话会返回‘OK’字样
d.测试连接
重启redis服务
//(redis-cli -h 127.0.0.1 -p 6379 -a (为你设置的密码))
输入 redis-cli 进入命令模式,使用 auth ‘*‘ (**为你设置的密码)登录
修改linux环境变量
该方法是修改系统环境配置文件,需要管理员权限或者对该文件的写入权限:
# 如果/etc/bashrc文件不可编辑,需要修改为可编辑chmod -v u+w /etc/environmentvim /etc/profile# 在最后一行加上export PATH=$PATH:/home/uusama/mysql/bin
注意事项:
- 生效时间:新开终端生效,或者手动source /etc/environment生效
- 生效期限:永久有效
- 生效范围:对所有用户有效
