在Ubuntu上安装配置Nginx, PHP, MySQL,报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

在Ubuntu上安装配置Nginx, PHP, MySQL,报错

2020-05-28 09:21:26 510 1

Nginx是一简单却功能强大的网络服务器,以稳定著称。若配置得当,nginx将很少会使CPU负担达到峰值,有效降低内存消耗。Nginx以其稳定性、富特点设置、配置简单、低资源消耗得到好评。
在这篇文章里,我想和大家分享一下,用Nginx作为网络服务器、支持PHP5(使用fastcgi)和MySQL,如何来安装和配置Ubuntu服务器。


安装MySQL服务器
1.打开终端
2.安装MySQL

sudo apt-get install mysql-server mysql-client

 

安装、配置Nginx
1.打开终端
2.升级软件仓库列表
sudo apt-get update
3.安装nginx
sudo apt-get install nginx
4.Nginx默认配置文件在 etc/nginx/sites-available/default,该文件应该改成:

server {
listen 80;
server_name localhost;
access_log /var/log/nginx/localhost.access.log;
## Default location
location / {
root /var/www;
index index.php;
}
## Images and static content is treated different
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|xml)$ {
access_log off;
expires 30d;
root /var/www;
}
## Parse all .php file in the /var/www directory
location ~ .php$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name;
include fastcgi_params;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_intercept_errors on;
fastcgi_ignore_client_abort off;
fastcgi_connect_timeout 60;
fastcgi_send_timeout 180;
fastcgi_read_timeout 180;
fastcgi_buffer_size 128k;
fastcgi_buffers 4 256k;
fastcgi_busy_buffers_size 256k;
fastcgi_temp_file_write_size 256k;
}
## Disable viewing .htaccess & .htpassword
location ~ /\.ht {
deny all;
}
}
upstream backend {
server 127.0.0.1:9000;
}

 

用Fastcgi安装和配置PHP5
1.安装spawn-fcgi,输入命令:
sudo apt-get install spawn-fcgi
2.安装PHP
sudo apt-get install php5 php5-cli php5-common php5-suhosin php5-cgi php-pear php5-mysql
3.现在写一个脚本,它使FastCGI PHP 进程出现在unix domain socket中。我们建立文件 /usr/sbin/fastcgi-php。
sudo touch /usr/sbin/fastcgi-php
然后将下面内容写入文件:

#!/bin/sh
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -f /usr/bin/php5-cgi

4.使它在启动时工作,需要创建一个init 脚本:
sudo touch /etc/init.d/init-fastcgi
将以下内容写入文件:

#!/bin/bash
PHP_SCRIPT=/usr/bin/php-fastcgi
RETVAL=0
case "$1" in
start)
$PHP_SCRIPT
RETVAL=$?
;;
stop)
killall -9 php
RETVAL=$?
;;
restart)
killall -9 php
$PHP_SCRIPT
RETVAL=$?
;;
*)
echo "Usage: php-fastcgi {start|stop|restart}"
exit 1
;;
esac
exit $RETVAL


 

 

赋予脚本有执行权限:

sudo chmod 755 /etc/init.d/init-fastcgi
#then run it
/etc/init.d/init-fastcgi start

使它开机启动
sudo update-rc.d init-fastcgi defaults
5.重启Nginx
sudo /etc/init.d/nginx restart
6.使用phpinfo()进行测试。如果结果OK,则成功了,没有成功你继续调试吧。

注意:该步骤经Ubuntu10.04服务器测试通过,可能对你的版本来说不太好使,但这是安装Nginx,PHP,MySQL的基本步骤。如果没有成功,看看哪里出了问题,继续调试。

取消 提交回答
全部回答(1)
  • 一枚小鲜肉帅哥
    2020-05-29 13:11:42

    在ubuntu11.04上,已经不用这么麻烦啦。V5

    ######

    apt-get install  everything

    0 0
相关问答

1

回答

PHP怎么隐藏mysql的报错?报错

2020-06-14 18:35:49 726浏览量 回答数 1

2

回答

PHP怎么隐藏mysql的报错

2016-03-11 09:35:42 9192浏览量 回答数 2

1

回答

PHP MySQL Google Chart JSON-完整示例

2020-05-11 10:58:55 261浏览量 回答数 1

1

回答

PHP,MySQL错误:列数与第1行的值数不匹配

2020-05-11 11:11:40 235浏览量 回答数 1

1

回答

从php中的mysql表中选择count(*)

2020-05-11 11:28:59 244浏览量 回答数 1

1

回答

PHP代码将MySQL查询转换为CSV

2020-05-10 20:59:08 286浏览量 回答数 1

1

回答

我有一个整数数组,如何在mysql查询中使用每个整数(在php中)?

2020-05-10 21:48:52 276浏览量 回答数 1

1

回答

MySQL整数字段在PHP中以字符串形式返回

2020-05-10 21:53:58 286浏览量 回答数 1

1

回答

PHP mysql插入日期格式

2020-05-10 21:54:52 290浏览量 回答数 1

1

回答

使用.php文件生成MySQL转储

2020-05-10 23:10:56 395浏览量 回答数 1
+关注
一枚小鲜肉帅哥
菜不可及的程序猿
0
文章
338
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载