Назад | Перейти на главную страницу

Конфигурация nginx + codeigniter не работает на CentOS 7?

Я новичок в 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 controller name лайк http://173.249.40.xxx/ci/index.php/Welcome когда звонили.

Путь к приложению CodeIgniter: '/usr/share/nginx/html/ci/;'

Пожалуйста, предложите мне что-нибудь. как я могу это исправить?

Вот ошибка:

    location /ci {

Из-за этого только URL-пути, начинающиеся с /ci будут обрабатываться прилагающимися try_files. Это не то, что вам нужно.

Вместо этого вы должны обработать все URL-адреса с

    location / {

Я рекомендую не редактировать nginx.conf файл. Только редактировать gzip и новую папку include (например, include /etc/nginx/sites/enabled/*.conf;), закомментируйте исходную строку include и создайте там свой файл конфигурации с именем com.mywebsite.conf в папку, о которой я упоминал ранее.

Вот как я это делал раньше:

В новом файле конфигурации, о котором я упоминал, скопируйте содержимое официально рекомендованной конфигурации, которая должна работать, если вы измените переменные в своей системе.

https://www.nginx.com/resources/wiki/start/topics/recipes/codeigniter/

Кроме того, храните свои сайты в /var/www/html/mywebsite