NGINX ile Symfony 5 projesi nasıl Deploy edilir ? 우분투
Bu yazıda sizlere
NGINX
ile Symfony 5 projesi nasıl Deploy edilir açıklayamaya çalışıcağım.Bunu yaparken sırasıyla
PHP
, Mysql
, NGINX
, Redis
, Composer
, Gitlab repository'sinden projeyi çekmek
ve NGINX Config
kurulum veğaayarlamaÖncelikli olarak 배포 etmek istediğimiz projenin düzgün bir şekilde Gitlab üzerinde bir repository'de bulunduğunu varsayalım.
Webserver'a nasıl geçicez açıkçası o kısmını ben de bilmiyorum . 바나 괴텐 인디 :D
lsb_release -cd ; hostname ; hostname -I ; whoami ; getconf LONG_BIT;
크기 de gokten indiyse bu komutları çalıştırarak webserverınız hakkında bilgi alabilirsiniz .Webserver'ı ayağa kaldırmak için gerekli kurulumları yapalım
PHP 8.1
Kuruluma başlamadan önce PHP 네디르 ? 소루순눈 세바비나 바칼림
PHP, HTML 이전 버전에서 사용할 수 있습니다. 사이트를 확장할 수 있습니다.
Php kurulumu için repo'muzu ekleyelim ;
add-apt-repository ppa:ondrej/php -y
PHP 8.1 확장 프로그램 확장 ;
sudo apt install php8.1 php8.1-cli php8.1-cgi php8.1-bcmath php8.1-curl php8.1-gd php8.1-intl php8.1-mbstring php8.1-mysql php8.1-opcache php8.1-sqlite3 php8.1-xml php8.1-zip php8.1-snmp php8.1-imap php8.1-common php8.1-tidy php8.1-pgsql php8.1-ldap php8.1-soap php8.1-xsl php8.1-redis php8.1-xmlrpc php8.1-zip php-imagick php-pear php-memcache php-apcu
Php kurulumunu doğrulamak için ;php -v
Kurduğumuz 확장 추가 괴르멕 için ise ;php -m
MYSQL 8
Mysql kurulumda dikkat etmemiz gereken bir konu Yetkilendirme
예를 들어 아직 킬렌디르메가 데이터베이스에 포함되지 않습니다.
sudo apt install mysql-server
Mysql'girş yapalım ;mysql -u root
예니 도구 모음 ;CREATE USER 'yeni_kullanici'@'localhost' IDENTIFIED BY 'sifre';
Yeni Kullanıcıya yetkilendirme verelim ;GRANT ALL PRIVILEGES ON * . * TO 'yeni_kullanici'@'localhost';
Komuttaki yıldızlar(*) 데이터베이스 및 표는 해당 정보를 참조합니다. Komut kullanıcıya belirli database ve tablolara izin vermeye olanak sağlar. İşlemi bitirmeden önce yetkileri enilediğinizden emin olun Daha sonra
yeni_kullanıcı
ile mysql'e tekrar giriş yapın .mysql -u yeni_kullanici -p 'sifre'
Şimdi bir 데이터베이스 olusturalım . 북경 부 데이터베이스 ne işimize yarayacak ?
Symfony projemizdeki verileri tutacak .
Projemizdeki
.env
dosyasını ayarlarken kullanacağız, database'i ekteki komut ile olusturalım ;CREATE DATABASE deneme;
NGINX
Ngınx webserver'i ayağa kaldıracak hızlı stabil ve hafif bir web sunucudur.
sudo apt install nginx
systemctl start nginx
systemctl status nginx
레디스
sudo apt install redis-server
redis.conf dosyasını düzenleyelim;sudo nano /etc/redis/redis.conf
supervised
kısmı default olarak no
geliyor görseldeki gibi değiştirelim작곡가
Symfony projemizi ayağa kaldıracak bunu unutmayalım ;
curl -sS https://getcomposer.org/installer | php ; mv composer.phar /usr/local/bin/composer ; chmod +x /usr/local/bin/composer
Sunucu üzerinde gerekli tüm kurulumları bitirdiğimizde aşağıdaki adımları takip ederek deployment işlemine başlayabiliriz.
Projemizi çekeceğimiz dizine girelim;
cd /var/www/html
git clone https://{gitlab-username}:{access_token}@{git-url}
daha anlaşılır olması için bir örnek verelim;
gitlab-username : 알퍼
access_token : abcdf_1234ae
git-url : gitlab.com/alper/test.git
git clone https://alper: [email protected]/alper/test.git
NOT bu kısımda ben acces-token kullandım fakat deploy-token da kullanılabilir.
Projeyi çektikten sonra sahiplendirme ve izin işlemleri için ;
chown -R www-data:www-data /var/www/html/ ; chmod -R 755 /var/www/html/
Projemiz symfony projesi olduğu için gerekli paketleri yükleyelim;
Composer install
.env dosyasını ayarlayalım
bunun için ilk olarak proje dizinine girelim .
cd /var/www/test
nano .env
ekte olduğu gibi MYSQL Kısmında oluşturduğunuz 데이터베이스'i
.env
dosyamıza ekliyoruz .NGINX 구성
프로젝트는 NGINX 구성에 대한 추가 정보를 얻을 수 있습니다.
Ekteki komutta belirtilen dizine default isimli bir dosya olusturur;
nano /etc/nginx/sites-available/default
dosyamızın içini düzenleyelim;
server {
listen 80;
listen [::]:80;
server_name domain www.domain.com;
root /var/www/test/public;
index index.php;
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
client_max_body_size 100M;
autoindex off;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
include fastcgi_params;
fastcgi_intercept_errors on;
}
}
kaydetme işlemi için
CTRL+O
ENTER
CTRL+X
구성 dosyamıza sembolik 링크 olusturalım ;sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
daha sonra
nginx.service
tekrar başlatalım ;sudo systemctl restart nginx.service
그녀의 타맘.
http://domain.com/
sitenizi gorebilirsiniz...
Reference
이 문제에 관하여(NGINX ile Symfony 5 projesi nasıl Deploy edilir ? 우분투), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/milkitea/nginx-ile-symfony-5-projesi-nasil-deploy-edilir-ubuntu-4m3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)