部署php的正确姿势
1、 更新源
apt-get update
2、安装apache
apt-get install apache2
ubuntu下apache2虚拟主机配置
cd /etc/apache2/sites-available ls 000-default.conf default-ssl.conf sudo cp 000-default.conf 000-default.conf.bak sudo vim 000-default.conf
文件修改为以下内容
// 此处由于下边要把apache端口设为8080 也要改为8080端口 <VirtualHost *:8080> ServerAdmin webmaster@localhost DocumentRoot /data/www ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined <Directory /> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> </VirtualHost>
3、安装php7.0
apt-get install php7.0
4、安装mysql https://www.cnblogs.com/Mvloveyouforever/p/9931290.html
5、安装nginx
apt-get install nginx
①配置nginx
- 修改
/etc/nginx/sites-available/default
location ~ \.php$ { #include snippets/fastcgi-php.conf; #With php7.0-cgi alone: #fastcgi_pass 127.0.0.1:9000; #With php7.0-fpm: #fastcgi_pass unix:/run/php/php7.0-fpm.sock; proxy_pass http://127.0.0.1:8080; # 添加此代码,指向动态服务器的ip地址及端口号 }
②配置apache
- 修改监听的端口号
/etc/apache2/ports.conf
# Listen 80
Listen 8080
③重启服务
/etc/init.d/nginx reload /etc/init.d/apache2 reload
至此: 带php后缀的 80端口 直接指向apache,其他从nginx配置走。
6、安装 php-fpm
apt-get install php-fpm
更新 php-fpm配置
// 改php-fpm配置文件 vim /etc/php/7.0/fpm/pool.d/www.conf // 找到 listen = // tcp方式 (现在用的是tcp) listen = 127.0.0.1:9000 // socket方式 listen = /run/php/php7.0-fpm.sock // 测试是否有误,显示successful即无误 sudo php-fpm7.0 -t // 重启php-fpm sudo service php7.0-fpm restart
7、配置apache2 链接 php-fpm
加载模块
apache用php-fpm方式要加载两个模块mod_proxy.so
与mod_proxy_fcgi.so
,先要Load这两个模块。
ln -s /etc/apache2/mods-available/proxy.conf /etc/apache2/mods-enabled/proxy.conf ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.load ln -s /etc/apache2/mods-available/proxy_fcgi.load /etc/apache2/mods-enabled/proxy_fcgi.load
vim /etc/apache2/sites-available/000-default.conf // 在<VirtualHost *:8080>内加上 // 这里IfModule 意思是当检测到加载了mod_proxy模块,才执行里面的内容,笔者认为应该要加上mod_proxy_fcgi.c的,但没找到写两个模块的写法.. <IfModule mod_proxy.c> ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/data/www/$1 DirectoryIndex /index.php index.php </IfModule>
// 测试是否配置正确 success为正确 apache2 -t
// 重启apache
service apache2 restart
8、部署了 laravel之后的 nginx配置
location ^~ /public/ { # include snippets/fastcgi-php.conf; # # # With php7.0-cgi alone: # fastcgi_pass 127.0.0.1:8080; # # With php7.0-fpm: # fastcgi_pass unix:/run/php/php7.0-fpm.sock; proxy_pass http://127.0.0.1:8080; # 添加此代码,指向动态服务器的ip地址及端口号 }
然后,发现服务器不打印错误 555
// 在 data/www 下开启文件访问权限 sudo chmod -R 777 项目名
9、开启curl
1、通过命令搜索可用扩展:
apt-cache search curl
2、安装
apt-get install php7.0-curl
3、重启apache
service apache2 restart
10、安装php7.0-mysql 驱动
apt-get install php7.0-mysql