ubuntu下搭建nginx+php+mysql

记录一下自己在ubuntu下搭建nginx服务器的情况和遇到的问题吧
搭建的主体都是上网找教程的
http://ddcc.it 就是从这个坑里面看的

1
2
3
add-apt-repository ppa:nginx/stable
apt-get update
apt-get install nginx

如果出现了add-apt-repository:command not found这个问题
就要先安装两个东西,是add-apt-repository的前置包

1
2
apt-get install python-software-properties
apt-get software-properties-common

用MariaDB代替MySQL,别问我为什么,反正我是习惯了的

1
2
3
4
apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
add-apt-repository 'deb http://sfo1.mirrors.digitalocean.com/mariadb/repo/10.0/ubuntu trusty main'
apt-get update
apt-get install mariadb-server

然后是安装php和php一些其他东西

1
apt-get install php5-fpm php5-mysql php5-curl php5-gd

然后就是配置一下nginx了

1
2
cd /etc/nginx/sites-availables
vim default

这个是网站的默认目录配置文件
一般我是丢个探针和一个网页ftp程序上去的
所以要修改一下这个默认配置的文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#index index.html index.htm index.nginx-debian.html;
#上面这一行前面加上index.php
index index.php index.html index.htm index.nginx-debian.html;
#下面这个日志文件,写在配置文件的server内
 
        access_log /var/log/nginx/18.access.log;
        error_log /var/log/nginx/18.error.log;
#下面这个是php的处理规则,也是写在配置文件的server内
        location ~ \.php(?:$|/) {
        client_body_buffer_size 128000k;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_param modHeadersAvailable true;
         }

然后就是配置网站目录的权限了

1
2
chmod -R 777 /var/www
chown -R www-data:www-data /var/www

这个目录权限有点麻烦,每一次新建网站目录的时候都要拿一次权限
然后东西都丢到那个对应目录里面就好了
记得配置好之后

1
service nginx restart

好了,做完上面的就在nginx上面开站跑了一次流程了。

然后还有可以开多几个域名或者子域名,都是在/etc/nginx/sites-availables下新建文件
举个栗子:新建个ct.tt的域名

1
2
cd /etc/nginx/sites-availables
vim cttt

这里是新建一个新的配置文件,那个文件名你可以自己随便取的

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
server {
        listen 80;
 
        server_name ct.tt;#设置域名
        root /var/www/cttt;#设置目录
 
        index index.php index.html index.htm;
 
        access_log /var/log/nginx/ct.access.log;
        error_log /var/log/nginx/ct.error.log;#设置日志
 
        location ~ \.php(?:$|/) {
        client_body_buffer_size 128000k;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_pass 127.0.0.1:9000;
#这个东西要看/etc/php5/fpm/pool.d/www.conf里的listen,如果是unix就要改成unix:/var/run/php5-fpm.sock;
        fastcgi_param modHeadersAvailable true;
         }#设置php处理规则
}

然后返回去到/etc/nginx/sites-enabled 创建一个刚才配置的软连接
到这里

1
2
cd /etc/nginx/sites-enabled
ln -sf ../sites-avaliable/cttt

然后重启nginx就可以了啊

添加评论