Sou novo no nginx e tento encontrar o problema no StackOverflow, mas não encontrei o problema exato nos fóruns. Após a instalação bem-sucedida do nginx, MySQL e php-fpm, testei o php.info que estava funcionando bem.
Estou movendo o projeto CodeIgniter para o nginx do servidor Apache. Eu edito o nginx.conf
arquivo que tem código
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;
}
}
estava funcionando bem php.info
como meu caminho, http://173.249.40.xxx/ci/info.php
mas não funcionou para CodeIgniter controller name
como http://173.249.40.xxx/ci/index.php/Welcome
quando chamado.
O caminho do aplicativo CodeIgniter é'/usr/share/nginx/html/ci/;'
Por favor, me sugira algo. como posso consertar isso?
Responder1
Aqui está o erro:
location /ci {
Por causa disso, apenas os caminhos de URL que começam com /ci
serão processados pelo arquivo try_files
. Isto não é o que você quer.
Em vez disso, você deve processar todos os URLs, com
location / {
Responder2
Eu recomendo não editar o nginx.conf
arquivo. Apenas edite gzip
uma nova pasta de inclusão (como include /etc/nginx/sites/enabled/*.conf;
), comente a linha de inclusão original e crie seu arquivo de configuração com o nome com.mywebsite.conf na pasta que mencionei antes.
Foi assim que fiz no passado:
No novo arquivo de configuração que mencionei, copie o conteúdo da configuração oficialmente recomendada, que deve funcionar se você modificar as variáveis do seu sistema.
https://www.nginx.com/resources/wiki/start/topics/recipes/codeigniter/
Além disso, armazene seus sites em/var/www/html/mywebsite