ubuntu部署nginx

先更新本机内置的程序。

sudo apt-get update
sudo apt-get upgrade
再判断系统是否内置了add-apt-repository命令,如果没有执行下列命令安装

sudo apt-get install software-properties-common

nginx

直接安装nginx

sudo apt-get install nginx
nginx的操作命令如下:

service nginx start
service nginx stop
service nginx restart

查看nginx使用的config配置文件或者软重启的命令是

nginx -t
nginx -s reload
一般配置文件在/etc/nginx目录下。

不过要配置一个新的网站,不需要在nginx.conf里添加,只需要在sites-enabled文件夹下加一个对应文件即可(文件名随意)

cd /etc/nginx/sites-enabled
touch demo
上面的demo文件是随便命名,用vi打开

vim demo
然后添加下面的内容

server {
listen 80;
server_name demo.com;
root /home/www/demo/public;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

解释一下上面的配置:

独立的一个服务器配置需要用server{}包裹起来
listen 80表示监听80端口,也就是http访问的默认端口,其它端口在浏览器上需要输入端口号。
server_name表示绑定的是哪个域名。
root表示该域名访问到路径对应的实际文件夹
index表示域名的path为空的时候对应访问哪个文件,默认都是index.html、index.htm和index.php
location /这里是对所有路径做路由重写,里面的try_files $uri $uri/ /index.php?$query_string;是laravel框架的路径重写配置。
location ~ \.php$是指访问所有后缀名带.php的路径时候,需要执行的操作,这里也就是配置php的fastcgi
fastcgi里的最重要部分是fastcgi_pass,它代表nginx服务器如何与php通信,这里的unix:/run/php/php7.1-fpm.sock;是php7.1-fpm启动后生成的套接字文件,可以和nginx通信。

猜你喜欢

转载自www.cnblogs.com/dadonggg/p/10003959.html
今日推荐