Soy nuevo en nginx e intento encontrar el problema en StackOverflow, pero no encontré el problema exacto en los foros. Después de una instalación exitosa de nginx, MySQL y php-fpm, pruebo php.info que estaba funcionando bien.
Estoy moviendo el proyecto CodeIgniter a nginx desde el servidor Apache. edito el nginx.conf
archivo que tiene codigo
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;
}
}
Estaba funcionando bien php.info
como mi camino, http://173.249.40.xxx/ci/info.php
pero no funcionaba para CodeIgniter controller name
como http://173.249.40.xxx/ci/index.php/Welcome
cuando lo llamaron.
La ruta de la aplicación CodeIgniter es'/usr/share/nginx/html/ci/;'
Por favor sugiérame algo. ¿Cómo puedo arreglarlo?
Respuesta1
Aquí está el error:
location /ci {
Debido a esto, /ci
el archivo adjunto solo procesará las rutas URL que comiencen con try_files
. Esto no es lo que quieres.
En su lugar, deberías tener todas las URL procesadas, con
location / {
Respuesta2
Recomiendo no editar el nginx.conf
archivo. Solo edite gzip
y cree una nueva carpeta de inclusión (como include /etc/nginx/sites/enabled/*.conf;
), comente la fila de inclusión original y cree su archivo de configuración allí con el nombre com.mywebsite.conf en la carpeta que mencioné antes.
Así es como lo hice en el pasado:
En el nuevo archivo de configuración que mencioné, copie el contenido de la configuración recomendada oficialmente, que debería funcionar si modifica las variables de su sistema.
https://www.nginx.com/resources/wiki/start/topics/recipes/codeigniter/
Además, almacene sus sitios web en/var/www/html/mywebsite