centos7安裝laravel


一. 安裝前准備
1. 安裝screen
yum install screen

2. 安裝wget
yum install wget

3. 更新yum
yum update

4. 安裝額外資源庫
yum install epel-release

5. 下載最新ius
wget https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/x86_64/ius-release-1.0-15.ius.centos7.noarch.rpm

6. 安裝ius
rpm -ivh ius-release-1.0-15.ius.centos7.noarch.rpm

7. 新建www用戶
adduser www

8. 設置密碼(可不設置)
passwd www

9. 添加到組
usermod -aG wheel www

二. 安裝nginx
1. 安裝
sudo yum install nginx

2. 啟動nginx
sudo systemctl start nginx

3. 設置為開機啟動
sudo systemctl enable nginx.service

4. 檢查開機自動是否設置成功
systemctl list-dependencies | grep nginx

注: 項目目錄默認在 /var/www/ 下
配置文件在 /etc/nginx/ 下

三. 安裝mysql
由於laravel5.4以后,數據庫默認使用utf8mb64, 
mysql版本太低時,在運行php artisan migrate 會報錯,原因就是utf8和utf8mb4造成的
mysql5.7以后的版本沒有 utf8 和 utf8mb64 的問題,

1. 安裝5.7.x的mysql源
yum -y localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm

2. 安裝mysql
yum -y install mysql-community-server install mysql-community-devel

3. 啟動mysql
service mysqld start

4. 設置mysqld服務開機自啟動
systemctl enable mysqld.service

7. 檢查mysqld開機自啟動是否設置成功
systemctl list-dependencies | grep mysqld

注:使用yum安裝,啟動會系統會自動生成一個隨機的密碼.
查看mysql的隨機密碼
grep 'temporary password' /var/log/mysqld.log

使用查詢得到的隨機密碼在終端登錄
mysql -u root -p 更改密碼(mysql文檔規定,密碼必須包括大小寫字母數字加特殊符號>8位)

 ALTER USER 'root'@'localhost' IDENTIFIED BY '你要設置的密碼';

退出mysql客戶端,用剛才修改的密碼登錄確保密碼修改成功
mysql -uroot -pxxxxx

四. 安裝PHP7(7.1)
1. 安裝php71的源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

2. 安裝php71
yum -y install php71w php71w-fpm

3. 安裝常用拓展
yum -y install php71w-mbstring php71w-common php71w-gd php71w-mcrypt
yum -y install php71w-mysql php71w-xml php71w-cli php71w-devel
yum -y install php71w-pecl-memcached php71w-pecl-redis php71w-opcache

4. 重新加載php
systemctl reload php-fpm

5. 驗證php是否安裝成功
php -v

6. 驗證對應的擴展是否安裝成功
php -m

7. 啟動php-fpm
service php-fpm start

8. 設置開機自啟動
systemctl enable php-fpm.service

9. 檢查開機自啟動是否設置成功
systemctl list-dependencies | grep php-fpm
ps -ef | grep php-fpm

五. 安裝Composer
依次執行
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

php composer-setup.php

php -r "unlink('composer-setup.php');"

全局安裝
sudo mv composer.phar /usr/local/bin/composer

6. 安裝iptables防火牆,開放3306端口
1. 關閉默認的firewall
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl mask firewalld.service

2. 安裝iptables防火牆
yum install iptables-services -y

3. 啟動設置防火牆
systemctl enable iptables
systemctl start iptables

4. 查看防火牆狀態
systemctl status iptables

5. 編輯防火牆,增加端口
vi /etc/sysconfig/iptables #編輯防火牆配置文件(配置要開放的端口)

端口開放的配置代碼如下:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

:wq! #保存退出

注:
iptables默認配置文件里有兩行設置:

-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

這兩行設置一定要寫在其他 端口開放 配置代碼的 下面,不然會導致端口開放失敗

6. 重啟配置,重啟系統
systemctl restart iptables.service #重啟防火牆使配置生效
systemctl enable iptables.service #設置防火牆開機啟動

7. 進入阿里雲,添加安全組規則,把3306端口開放
由於阿里雲有雙層保障,安全組的功能就是在請求到達服務器前的一個保障,
因此,阿里雲安全組需要先開放3306端口的入方向

六. 安裝git
1. 下載安裝git
yum -y install git

2. 檢查是否安裝成功
git --version 

七. 下載或克隆laravel項目到 /var/www/ 目錄下
1. 進入 /var/www/ 下 git clone 項目地址

2. 復制 .env.example 為 .env

3. 修改 .env 相關配置

4. 安裝依賴
composer install

5. 生存appkey
php artisan key:generate

6. 給文件權限
以上操作針對的都是root用戶,需要開放網站訪問用戶權限
1. 給 /var/www/項目名 設置權限
sudo chown -R :www /var/www/項目名

2. 給項目下的storage目錄寫的權限
sudo chmod -R 775 /var/www/項目名/storage

3. 如果給完775權限扔不能訪問,那么給整個項目777權限
sudo chmod -R 777 /var/www/項目名/

八. 設置nginx配置文件
1. 進入nginx目錄下的conf.d文件夾
cd /etc/nginx/conf.d/

2. 新建一個自己網站的配置文件
vim yourwebsite.com.conf
文件以.conf結尾,名字一般為自己網站的名,這樣方便辨識

3. 在新建的配置文件中寫入如下內容:
server {
listen 80;
server_name yourwebsite.com;
set $root_path 'your project path/public';
root $root_path;

index index.php index.html index.htm;

try_files $uri $uri/ @rewrite;

location @rewrite {
rewrite ^/(.*)$ /index.php?_url=/$1;
}

location ~ \.php {

fastcgi_pass 127.0.0.1:9000;
fastcgi_index /index.php;

fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
root $root_path;
}

location ~ /\.ht {
deny all;
}
}

最后的啟動:http://xxx.xxxxxx.xx/login啟動就可以了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM