docker 下 CentOS7中使用yum安裝nginx和php7.2的方法

親測正常

CentOS7中使用yum安裝nginx和php7.2的方法

1、安裝源

安裝php72w,是需要配置額外的yum源地址的,否則會報錯不能找到相關軟件包。

php高版本的yum源地址,有兩部分,其中一部分是epel-release,另外一部分來自webtatic。如果跳過epel-release的話,安裝webtatic的時候,會有錯誤爆出。

所以,這裏需要的命令是:

rpm -Uvh https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

當然,您也可以選擇下面的這個命令,也是一樣的效果。

yum install epel-release -y
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

2、清除歷史版本

爲了防止centos上面發生php衝突,所以,這個命令還是先執行一下更好些。

yum -y remove php*

3、安裝擴展包

事實上,這裏面的對應擴展庫很多,這裏大家一定要注意clifpm這兩個包,而其它的相關包就看您需要了。

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel 

還有比較豪華的版本:

yum -y install php72w php72w-cli php72w-fpm php72w-common php72w-devel php72w-embedded php72w-gd php72w-mbstring php72w-mysqlnd php72w-opcache php72w-pdo php72w-xml

4、安裝完成以後,啓動服務

systemctl enable php-fpm.service
systemctl start php-fpm.service

5、安裝成功

 

 

 

 

nginx官方文檔說明:http://nginx.org/en/linux_packages.html#RHEL-CentOS

一、安裝前準備:

yum install yum-utils

 

1、由於 yum 源中沒有我們想要的 nginx,那麼我們就需要創建一個“/etc/yum.repos.d/nginx.repo”的文件,其實就是新增一個 yum 源。

[root@niaoyun~]# vim /etc/yum.repos.d/nginx.repo

2、然後將下面的內容複製進去:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1

三、安裝Nginx

3、然後保存“/etc/yum.repos.d/nginx.repo”文件後,我們就使用 yum 命令查詢一下我們的 nginx 的 yum 源配置好了沒有。

[root@niaoyun~]# yum list |grep nginx
nginx.x86_64 1:1.10.1-1.el7.ngx nginx
nginx-debug.x86_64 1:1.8.0-1.el7.ngx nginx
nginx-debuginfo.x86_64 1:1.10.1-1.el7.ngx nginx
nginx-module-geoip.x86_64 1:1.10.1-1.el7.ngx nginx
nginx-module-image-filter.x86_64 1:1.10.1-1.el7.ngx nginx
nginx-module-njs.x86_64 1:1.10.1.0.0.20160414.1c50334fbea6-1.el7.ngx
nginx
nginx-module-perl.x86_64 1:1.10.1-1.el7.ngx nginx
nginx-module-xslt.x86_64 1:1.10.1-1.el7.ngx nginx
nginx-nr-agent.noarch 2.0.0-9.el7.ngx nginx
pcp-pmda-nginx.x86_64 3.10.6-2.el7 base

 

4、如果執行命令是這樣的顯示效果,那麼我們的 nginx 的 yum 源就配置成功啦!

      然後要安裝我們的 nginx 就直接執行:

[root@niaoyun~]# yum -y install nginx

5、如果操作正確到這裏 nginx 環境就已經安裝 OK 了。

當然你還可以使用命令查一下究竟是否安裝完成。

[root@niaoyun~]# rpm -q nginx
nginx-1.10.1-1.el7.ngx.x86_64

6、不解釋,已經成功了,並且是 nginx 官方的最新版本

 

安裝完後,rpm -qa | grep nginx 查看

啓動nginx:systemctl start nginx

加入開機啓動:systemctl enable nginx

查看nginx的狀態:systemctl status nginx

在瀏覽器輸入自己服務器的IP地址即可訪問到nginx,如下圖所示,nginx服務的默認端口爲80(這裏需要注意防火牆的限制和端口衝突)。

用命令lsof -i:80,可查看80端口被那個進程佔用。

nginx服務的默認配置文件在 vim /etc/nginx/conf.d/default.conf ,打開可看到,默認端口爲80,項目部署目錄爲/usr/share/nginx/html/。

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

server {

    listen       80;

    server_name  localhost;

    #root   /var/www/html;

    root  /usr/share/nginx/html;

    index  index.html index.htm index.php; 

    #charset koi8-r;

    #access_log  /var/log/nginx/host.access.log  main;

 

   error_page  404              /404.html;

    location = /404.html {

        return 404 'Sorry, File not Found!';

    }

    error_page  500 502 503 504  /50x.html;

    location = /50x.html {

        root   /usr/share/nginx/html; # windows用戶替換這個目錄

    }

 

    location / {

        try_files $uri @rewrite;

    }

    location @rewrite {

       # set $static 0;

       if  ($uri ~ \.(css|js|jpg|jpeg|png|gif|ico|woff|eot|svg|css\.map|min\.map)$) {

        #    set $static 1;

       # }

       if ($static = 0) {

        #    rewrite ^/(.*)$ /index.php?s=/$1;

       # }

        if (!-e $request_filename) {

         rewrite  ^(.*)$  /index.php?s=$1  last;

         break;

        }

    }

    location ~ /Uploads/.*\.php$ {

        deny all;

    }

    location ~ \.php/ {

       if ($request_uri ~ ^(.+\.php)(/.+?)($|\?)) { }

       fastcgi_pass 127.0.0.1:9000;

       include fastcgi_params;

       fastcgi_param SCRIPT_NAME     $1;

       fastcgi_param PATH_INFO       $2;

       fastcgi_param SCRIPT_FILENAME $document_root$1;

    }

    location ~ \.php$ {

        fastcgi_pass 127.0.0.1:9000;

        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        include fastcgi_params;

        #include fastcgi.conf;

    }

    location ~ /\.ht {

        deny  all;

    }

}

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章