部署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
部署php的正确姿势的更多相关文章
- 基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势)
基于winserver的Apollo配置中心分布式&集群部署实践(正确部署姿势) 前言 前几天对Apollo配置中心的demo进行一个部署试用,现公司已决定使用,这两天进行分布式部署的时候 ...
- 玩转 Ceph 的正确姿势
玩转 Ceph 的正确姿势 本文先介绍 Ceph, 然后会聊到一些正确使用 Ceph 的姿势:在集群规模小的时候,Ceph 怎么玩都没问题:但集群大了(到PB级别),这些准则可是保证集群健康运行的不二 ...
- Redis实现分布式锁的正确姿势
分布式锁一般有三种实现方式:1. 数据库乐观锁:2. 基于Redis的分布式锁:3. 基于ZooKeeper的分布式锁.本篇博客将介绍第二种方式,基于Redis实现分布式锁.虽然网上已经有各种介绍Re ...
- Golang错误和异常处理的正确姿势
Golang错误和异常处理的正确姿势 错误和异常是两个不同的概念,非常容易混淆.很多程序员习惯将一切非正常情况都看做错误,而不区分错误和异常,即使程序中可能有异常抛出,也将异常及时捕获并转换成错误.从 ...
- 开发函数计算的正确姿势 —— 使用 Fun Local 本地运行与调试
前言 首先介绍下在本文出现的几个比较重要的概念: 函数计算(Function Compute): 函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传.函数计算 ...
- 【分布式缓存系列】集群环境下Redis分布式锁的正确姿势
一.前言 在上一篇文章中,已经介绍了基于Redis实现分布式锁的正确姿势,但是上篇文章存在一定的缺陷——它加锁只作用在一个Redis节点上,如果通过sentinel保证高可用,如果master节点由于 ...
- GitHub 热点速览 Vol.18:刷 LeetCode 的正确姿势
作者:HelloGitHub-小鱼干 摘要:找对路子,事半功倍,正如本周 GitHub Trending #刷 LeetCode# 主题想表达的那般,正确的学习姿势方能让人走得更远,走进大厂
- 如何成为一名合格的Apache项目Committer,参与Apache开源贡献的正确姿势
近日,孙金城老师在 "Open Source Promotion Plan - Summer 2020" 开源软件供应链点亮计划做了<如何成为一名合格的Apache项目Com ...
- 判断是否为gif/png图片的正确姿势
判断是否为gif/png图片的正确姿势 1.在能取到图片后缀的前提下 1 2 3 4 5 6 7 8 9 //假设这是一个网络获取的URL NSString *path = @"http:/ ...
随机推荐
- ie8不支持currentTarget的解决办法
一般绑定事件时,我们都会在事件回调方法里用event.currentTarget获取当前对象,但到ie8里就获取不到了. 解决方法如下: var eve = event || window.event ...
- Maven管理jar包依赖常出现的不能实例化类的问题
you'ji 在maven管理jar包依赖时,存在一种常见的问题. pom.xml文件配置没问题,通过eclipse里中的maven dependencies查看,也确实有这个jar 包,或者这个类. ...
- Beta阶段——第1篇 Scrum 冲刺博客
第1篇 Scrum 冲刺博客 a. 介绍小组新加入的成员,Ta担任的角色. 新加入成员 郭炜埕 原先担任的角色 前端界面设计 现在担任的角色 前端开发,并协助后端开发 新加成员介绍 炜埕同学对界面设计 ...
- python目录和文件操作
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 要操作目录,必须引入os模块 import os1.得到当前工作目录,即当前Python脚本工作的目录路径: os ...
- Django之自定义分页
分页功能在每个网站都是必要的,对于分页来说,其实就是根据用户的输入计算出应该显示在页面上的数据在数据库表中的起始位置. 1. 每页显示的数据条数 2. 每页显示页号链接数 3. 上一页和下一页 4. ...
- js 获取数组重复的元素
//获取数组重复的元素 function refrain(arr) { var tmp = []; if(Array.isArray(arr)) { arr.concat().sort().sort( ...
- python3+pyshark读取wireshark数据包并追踪telnet数据流
一.程序说明 本程序有两个要点,第一个要点是读取wireshark数据包(当然也可以从网卡直接捕获改个函数就行),这个使用pyshark实现.pyshark是tshark的一个python封装,至于t ...
- Python线程二
转自:https://www.cnblogs.com/chengd/articles/7770898.html 1. threading.Lock() import threading balance ...
- 未来Linux系统将是运维行业必备的技能之一
关于linux,这个并不是每个人都能用或者需要用的,因为平时有很多人用电脑只是为了上上网,聊聊天,打打游戏,这个是完全不需要用linux的.关于linux,是不能用正常的大家所熟知的window来认知 ...
- zookeeper集群环境搭建(使用kafka的zookeeper搭建zk集群)
---恢复内容开始--- 使用kafka的zookeeper来搞集群的话和单纯用zk的其实差不了多少. 0.说在前头,搭建kafka集群之前请把每个服务器的jdk搞起来. 1.安装kafka wget ...