Nginx 服务器部署 php 项目

示例的服务器操作系统为 ubuntu

默认的网站根目录 /var/www/html,可以把项目拷贝到该目录下,也可在/var/www目录下建立目录。我们把项目放在 /var/www/目录下: /var/www/project_name.

然后将 Nginx 的用户名和用户组 www-data 分配给它:

1
2
3
4
5
#进入 /var/www 目录
cd /var/www

#分配用户名和用户组
chown -R www-data:www-data project_name

配置 Nginx:

nginx 的默认配置位于 /etc/nginx/sites-available/default

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
server {
listen 80 default_server;
listen [::]:80 default_server;

# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;

# 网站根目录,根据实际情况修改
root /var/www/project_name;

# Add index.php to the list if you are using PHP
index index.php index.html index.htm index.nginx-debian.html;

server_name _;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
}
}

如果配置一个站点,简单配置如上即可。

Nginx 配置多站点:

1、建立多个项目:

/var/www/project1
/var/www/project2

2、在 /etc/nginx/sites-available/ 目录下新建配置 project1(或拷贝default,重命名为 project1):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
server{
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

#网站域名,根据自己的域名修改,如果只是本机用来开发测试,可自定义
server_name www.project1.com;

#项目目录地址
root /var/www/project1;
index index.html index.php;

location / {
try_files $uri $uri/ = 404;

}

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
}

project2 配置类似 project1 ,修改相应的域名、项目目录即可。

3、建立 /etc/nginx/sites-available//etc/nginx/sites-enable 的软连接

1
2
3
4
cd  /etc/nginx/sites-available

ln -s project1 /etc/nginx/sites-enable
ln -s project2 /etc/nginx/sites-enable

/etc/nginx/sites-enable 文件夹中的配置为当前可用的配置

4、修改 hosts

1
vi /etc/hosts

hosts 文件中添加:

1
2
127.0.0.1  www.project1.com
127.0.0.1 www.project2.com

保存。

5、重启 Nginx

1
service nginx restart

在浏览器中访问 www.project1.comwww.project2.com 测试是否配置成功。