Ubuntu12.04配置nginx+php+mysql
1、添加ubuntu nginx更新镜像源
sudo vi /etc/opt/source.list
添加:deb http://nginx.org/packages/ubuntu/ precise nginx
deb-src http://nginx.org/packages/ubuntu/ precise nginx
2、更新软件包源:
sudo apt-get update
出现如下错误:W: GPG 错误:http://nginx.org precise Release: 由于没有公钥,无法验证下列签名: NO_PUBKEY ABF5BD827BD9BF62
解决办法:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys ABF5BD827BD9BF62
3、重新执行:sudo apt-get update
sudo apt-get install nginx
出现如下错误:etting up nginx (1.6.3-1~precise) ...
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
invoke-rc.d: initscript nginx, action "start" failed.
原因:80端口被已经被其它进程使用。
解决办法:更改nginx服务绑定端口为88端口。sudo vi /etc/nginx/conf.d/default.conf
更改:server {
listen 88;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
4、启动nginx
sudo /etc/init.d/nginx start
5、检查nginx版本
nginx -v
6、配置php+mysql
sudo apt-get install php5-cli php5-cgi mysql-server php5-mysql
7、安装FastCgi
sudo apt-get install spawn-fcgi
8、配置nginx
sudo vi /etc/nginx/conf.d/default.conf
location / {
root /usr/share/nginx/html;
index index.php index.html index.htm;#添加index.php
}
9、重启nginx
sudo /etc/init.d/nginx restart
10、启动fastcig php
spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u nginx -f /usr/bin/php-cgi & #这里注意:我第一次加了&才行,还不知道为什么
参数含义如下
* -f 指定调用FastCGI的进程的执行程序位置,根据系统上所装的PHP的情况具体设置
* -a 绑定到地址addr
* -p 绑定到端口port
* -s 绑定到unix socket的路径path
* -C 指定产生的FastCGI的进程数,默认为5(仅用于PHP)
* -P指定产生的进程的PID文件路径
* -u和-g FastCGI使用什么身份(-u 用户 -g 用户组)运行,Ubuntu下可以使用www-data,其他的根据情况配置,如nobody、apache等现在可以在web根目录下放个探针或php文件测试一下了
来源:
11、加入开机启动:
sudo vi /etc/rc.local
把/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 10 -u nginx -f /usr/bin/php-cgi 加到exit 0前。
12、no input file specified错误
sudo vi /etc/nginx/conf.d/default.conf
其中这个字段
location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
注意
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
/usr/share/nginx/html 改为你的网站根目录,一般就是改成这个。
server 字段下root 目录和网站根目录保持一致
13、使用雅黑探针来探测web服务器:下载雅黑探针php文件―tz.php到/usr/share/nginx/html
#sudo chown ngixn tz.php
#sudo chmod u+rwz tz.php
通过浏览器输入localhost:88/tz.php来查看web服务状态。
14、 安装discuz论坛
(1)在/usr/share/nginx/html下新建目录bbs:#mdir bbs ,下载discuz X3.1版本discuz.zip并上传到bbs中
(2)#sudo unzip discuz.zip
(3)#sudo chmod -R 777 discuz
(4)在浏览器中输入localhost:88/bbs/upload/install,开始安装论坛。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Alipay PHP...

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Session hijacking can be achieved through the following steps: 1. Obtain the session ID, 2. Use the session ID, 3. Keep the session active. The methods to prevent session hijacking in PHP include: 1. Use the session_regenerate_id() function to regenerate the session ID, 2. Store session data through the database, 3. Ensure that all session data is transmitted through HTTPS.

How to debug CLI mode in PHPStorm? When developing with PHPStorm, sometimes we need to debug PHP in command line interface (CLI) mode...

The application of SOLID principle in PHP development includes: 1. Single responsibility principle (SRP): Each class is responsible for only one function. 2. Open and close principle (OCP): Changes are achieved through extension rather than modification. 3. Lisch's Substitution Principle (LSP): Subclasses can replace base classes without affecting program accuracy. 4. Interface isolation principle (ISP): Use fine-grained interfaces to avoid dependencies and unused methods. 5. Dependency inversion principle (DIP): High and low-level modules rely on abstraction and are implemented through dependency injection.

How to automatically set the permissions of unixsocket after the system restarts. Every time the system restarts, we need to execute the following command to modify the permissions of unixsocket: sudo...

Sending JSON data using PHP's cURL library In PHP development, it is often necessary to interact with external APIs. One of the common ways is to use cURL library to send POST�...

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.
