ubuntu php 重启 ubuntu安装apache
ubuntu-修改玩php.ini后如何重启SegmentFault
修改了php.ini后,如果重启php-fpm无效且进程存在问题,考虑重启php-fpm服务即可。若问题涉及apache mod,则需重启apache服务。
具体重启方法如下:
对于fastcgi模式,仅需重启php-fpm。
对于apache mod,执行以下命令重启apache服务:
/etc/init.d/apache2 restart
检查运行状态。
常见重启命令包括:
service apache2 restart
假设apache安装在/usr/local/apache2,启动命令为:/usr/local/apache2/bin/apachectl start
停止命令为:/usr/local/apache2/bin/apachectl stop
重启命令为:/usr/local/apache2/bin/apachectl restart
若需在重启时不中断当前连接,则使用:/usr/local/sbin/apachectl graceful
对于使用systemd的系统,重启apache服务的命令为:
sudo systemctl restart apache2
系统启动服务:sudo/etc/init.d/apache2 start
停止服务:sudo/etc/init.d/apache2 stop
重启服务:sudo/etc/init.d/apache2 restart
LNMP怎么单独重启nginx或者mysql、php
LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。
Linux是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。
Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。
Mysql是一个小型关系型数据库管理系统。
PHP是一种在服务器端执行的嵌入HTML文档的脚本语言。
这四种软件均为免费开源软件,组合到一起,成为一个免费、高效、扩展性强的网站服务系统。
单独重启nginx或者mysql、php:
nginx: kill nginx进程ID,再/usr/local/nginx/sbin/nginx
mysql:/etc/init.d/mysql restartphp:没有重启
phpfpm:/usr/local/php/sbin/php-fpm reload
ubuntu多版本php切换
为了学习swoole,我将Ubuntu系统上的php版本从7.0升级到了7.2。升级过程如下:
使用命令行执行以下操作:
sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get upgrade php
sudo apt-get install php7.2-mbstring
sudo apt-get install php7.2-gd
sudo apt-get install php7.2-dom
sudo apt-get install php7.2-mysql
sudo apt-get install php7.2-curl
为了安装swoole,建议直接使用pecl install swoole,因为它能一步到位。手动编译可能会遇到因版本不匹配的问题。
切换php版本步骤如下:
禁用7.0版本:
sudo a2dismod php7.0
启用7.2版本:
sudo a2enmod php7.2
重启nginx(或apache):
sudo service nginx restart
若出现"ERROR: Module php7.0 does not exist!",执行以下命令:
sudo apt-get install libapache2-mod-php7.0
切换后,浏览器查看phpinfo()应显示7.2版本,但命令行CLI仍显示7.0,需执行:
sudo update-alternatives--set php/usr/bin/php7.2
这样,命令行CLI执行php-v亦能显示7.2版本。
若需要在Ubuntu上切换php版本,可使用sudo service php7.0-fpm stop/restart。然而,这只能切换php-fpm,即web端,命令行CLI端的版本仍无法切换。
在升级版本后,我尝试安装了php7.1,第二天启动电脑后发现所有laravel项目均出现错误。通过查阅资料发现是版本问题,查看php-v显示为7.2,但命令行CLI显示为7.0。为了解决此问题,我重启了php,发现错误根源是端口被占用,导致php fastCGI程序启动失败。
为解决此问题,我使用命令ps aux|grep php来查看所有php-fpm进程。发现有一个php7.1-fpm进程,通过获取其进程ID并kill掉该进程,成功重启了php。
尝试执行killall php-fpm命令未能解决问题,最终使用了上述方法,通过查询进程并根据进程ID杀死进程来解决此问题。