Я новичок в nginx и пытаюсь найти проблему на StackOverflow, но не нашел точной на форумах. После успешной установки nginx, MySQL и php-fpm я тестирую php.info, который работает нормально.
Я перемещаю проект CodeIgniter на nginx с сервера apache. Я редактирую файл nginx.conf
с кодом
server {
listen 80;
server_name 173.249.40.xxx;
# note that these lines are originally from the "location /" block
root /usr/share/nginx/html/ci;
index index.html index.htm index.php;
location /ci {
try_files $uri $uri/ /index.php;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
, он отлично работал для php.info
, как будто мой путь - http://173.249.40.xxx/ ci / info.php
, но не работает для CodeIgniter имя контроллера
например http://173.249.40.xxx/ci/index.php/ Добро пожаловать
при вызове.
Путь приложения CodeIgniter: '/ usr / share / nginx / html / ci /;'
Пожалуйста, предложите мне что-нибудь. как я могу это исправить?
Ошибка:
location /ci {
Из-за этого только URL-пути, начинающиеся с / ci
, будут обрабатываться включающими try_files
. Это не то, что вам нужно.
Вместо этого вы должны обработать все URL-адреса, при этом
location / {
Я рекомендую не редактировать файл nginx.conf
. Отредактируйте только gzip
и новую папку включения (например, include /etc/nginx/sites/enabled/*.conf;
), закомментируйте исходную строку включения и создайте там свой файл конфигурации. с именем com.mywebsite.conf в папку, о которой я упоминал ранее.
Вот как я делал это в прошлом:
В новом конфигурационном файле, о котором я упоминал, скопируйте содержимое официально рекомендованная конфигурация, которая должна работать, если вы измените переменные в своей системе.
https://www.nginx.com/resources/wiki/start/topics/recipes/codeigniter/
Кроме того, храните свои веб-сайты в / var / www / html / mywebsite