伺服器和部署php應用程序(php搭建伺服器)

本文目錄一覽:

怎樣在遠程 Web 伺服器上部署 PHP 應用程序

用scp scp 文件名 1 遠程用戶名 @IP 地址 : 文件名 2

例如 scp /tmp/project/index.php servername:/webroot

把本地index.php文件傳輸到伺服器上的webroot目錄下 !

伺服器上怎麼安裝php程序

你好,如果你的伺服器是Windows系統,那麼你需要遠程到你的伺服器,進行啟動IIS(asp環境),如果你需要php環境,你可以從xp.cn(小皮)或者bt.cn(寶塔)安裝面板

如果你的伺服器是Linux,建議使用寶塔

打開終端,不同Linux系統的輸入指令不同:

Centos安裝腳本

終端輸入:yum install -y wget wget -O install.sh sh install.sh

Ubuntu/Deepin安裝腳本

終端輸入:wget -O install.sh sudo bash install.sh

Debian安裝腳本

終端輸入:wget -O install.sh bash install.sh

Fedora安裝腳本

終端輸入wget -O install.sh bash install.sh

輸入後進行安裝就可以了

伺服器程序源代碼分析之二:php-fpm

php作為排名top2 互聯網開發工具,非常流行,可以參考:中國最大的25個網站採用技術選型方案

php這個名稱實際上有兩層含義

直接定義:

php-fpm從php5.3.3開始已經進入到php源代碼包,之前是作為patch存在的

很少人會去讀php本身源代碼,我6年前解決php內存泄露問題的時候做了些研究,最近再查看了一番,發現php的開發者很有誠意,這是一款非常出色的伺服器軟體,支持如下

在linux伺服器上,如果不設置 events.mechanism ,那麼默認就是採用epoll,所以

php-fpm的IO模型並發處理能力和nginx是完全一致

nginx以性能卓越聞名,大部分程序員都認為php效率低下,看了源代碼,才知道這是傳奇啊

在高性能部署的時候,大家往往會針對性的優化nginx 。我自己之前部署php程序也犯了錯誤,8G內存的server,php-fpm的max children都會設置128+,現在看來太多了,參考nginx的部署:

php-fpm配置為 3倍 cpu core number就可以了

php-fpm穩定性比nginx稍差 這是因為php-fpm內置了一個php解析器,php-fpm進程就和php程序捆綁了,如果php腳本寫得不好,有死循環或者阻塞在某個遠端資源上,會拖累載入它的php-fpm進程

而nginx和後端應用伺服器之間通過網路連接,可以設置timeout,不容易堵死的

php-fpm的fastcgi是短連接 我原以為是長連接的,看了代碼才知道也是短連接,處理一個request就關閉掉

php-fpm介面採用fastcgi 非常遺憾,php-fpm和fastcgi完全綁定了,無法獨立使用 。只能部署在支持http-fcgi協議轉換程序背後(nginx)。其實可以考慮在php-fpm代碼包裡面引入http協議支持,這樣php-fpm可以獨立運行,讓nodejs無話可說

php-fpm等同於OpenResty OpenResty是一個國人開發的nginx模塊,就是在nginx引入lua解釋器. 實際上,它和php-fpm的唯一差別就是一個採用php語法,一個用lua,所以OpenResty要作為nginx增強包使用還可以,要選擇它作為一個主要編程工具,沒有任何必要

從架構上來說,php-fpm已經做到最好,超過大多數 python部署工具,我再也不黑它了

PHP部署開發伺服器

當然是安裝php伺服器了

php是支持跨平台的,理論上是可以一次編譯四處運行的,但是有些地方還是需要注意的 比如windows系統的盤符路徑和其他系統是不一樣的,當你的程序設計不好的時候上傳下載的功能跨平台就不能用了

要發布網站首先你需要有獨立的公網ip地址然後在路由器上做埠映射。順便說一下那些所謂的共享寬頻基本都是不可以的

只要滿足3的條件當然可以

內網只要直接訪問伺服器的內網ip地址就ok了

php項目如何部署在伺服器上

一、阿里ECS伺服器配置

     1.因為線上已經有幾個站點了.所以要配置ngnix多站點

     2.阿里雲ecs目錄結構,ngxin 在/etc/nginx/目錄下,配置的地方主要是nginx.config文件。或者在conf.d新建一個配置文件然後在include到nginx.config文件中

        

     3.nginx.config新建站點信息

server {

listen       80;

server_name  www.你的域名.com;

root         站點的相對路徑;

index index.php index.html index.htm;

#charset koi8-r;

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

# Load configuration files for the default server block.

include /etc/nginx/default.d/*.conf;

location / {

#try_files $uri $uri/ /index.php;

root   /opt/www/pcweb/ytyy_pc;

index  index.php index.html index.htm;             if (!-e $request_filename) {   rewrite  ^(.*)$ /index.php?s=$1  last;   break;    }}             url重寫(可以沒有)

# redirect server error pages to the static page /40x.html

#

error_page  404              /404.html;   40錯誤頁面配置

location = /40x.html {

}

# redirect server error pages to the static page /50x.html

#

error_page   500 502 503 504  /50x.html;  50錯誤頁面配置

location = /50x.html {

}

location ~ \.php$ {

root           站點相對路徑;

fastcgi_pass   127.0.0.1:9000;

fastcgi_index  index.php;

fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

include        fastcgi_params;

}

location ~ /\.ht {

deny  all;

}

}

配置文件的基本內容如上;

配置完成後測試配置文件是否正確

這樣配置就可以使用了

然後重啟nginx伺服器 

這樣nginx配置就結束了可以使用了。吧站點文件放到對應的目錄下面。我直接git clone過去的。

二.thinkphp項目文件轉移

本來以為上傳完就結束了。上傳上去碰到的第一個問題就是訪問頁面報錯,頁面被電信的114頁面劫持了。。。麻蛋 看不到報錯

萬能百度大法

解決方法1.internet高級選項-隱私-站點  新加阻止站點

解決方法2:控制面板-網路和internet-本地連接-屬性-ipv4  使用如下ip

終於搞定可以看到報錯頁面了。。。。。。麻蛋。再次開啟萬能百度大法

 

 

 得到最終結論是文件目錄許可權引起的。thinkphp 的runtime目錄沒有寫入許可權。。thinkphp文件上傳到阿里的好像都有這個問題。解決問題很簡單

進入到項目文件目錄

直接跟文件最高許可權

chmod -R 777 [目錄]  //linux修改文件許可權

 

php程序怎麼部署運行

首先你要有windows2003和iis6.0(6.0以下就免談了)。

然後要安裝的東東依次為:php5.2,mysql5.0,phpmyadmin2.11

這些東西一個個去找實在是太麻煩了,幸好我們有wamp。

只要學會了安裝wamp,那麼就只剩下「配置」了。

下面所有牽涉到的文件路徑都以wamp為準,php在wamp中的目錄為wamp\bin\php\php5.2.5。

要讓iis能夠解析php,首先要把php.ini複製到c:\windows目錄下,把php5isapi.dll複製到c:\windows\system32下。

然後從windows2003的管理工具中進入iis,新添加一個web服務擴展,擴展名可以任意填寫,比如說「php服務擴展」,要求的文件則是php5isapi.dll,勾上「設置擴展狀態為允許」。

然後新建一個網站,假設已經有了一個網站,右鍵「屬性」,為網站創建一個「應用程序池」,執行許可權為「腳本和可執行程序」,點擊「配置」,添加一個

「應用程序擴展」,在新彈出的窗口中,可執行文件選擇剛才的php5isapi.dll(最好是c:\windows\system32下的),」擴展

名」為.php,動作限制為「get,head,post,trace」,勾去「確認文件是否存在」

ok,這樣php就基本上配置好了,可以去網站根目錄下創建一個index.php,寫入「

?php

phpinfo();?」,然後打開瀏覽器測試一下就可以了。

首先你必須修改php.ini,找到extension_dir這個參數,假設wamp安裝在d盤,改成

extension_dir

=

「d:\wamp\bin\php\php5.2.5\ext\」,然後找到extension=php_mysql.dll和

extension=php_mysqli.dll,確保他們之前的逗號已經去掉。

接下就是關鍵了,在wamp\bin\php\php5.2.5目錄下有一個關鍵的文件libmysql.dll,昨天困擾了許久,才想起以前配置

mysql的慘痛經歷(都是wamp惹的禍,把php/mysql的安裝搞的太簡單了),這個文件一定要複製到c:\windows\system32目

錄下去,否則就算在php.ini裡面打開extension=php_mysql.dll也沒有用,當瀏覽需要連接mysql的頁面時,會報錯說

「mysql」類型不存在。

我們就遇到了這樣一個實際問題:54上已經在運行asp以及asp.net的網站,iis搶佔了80埠,apache就不能使用了,這樣難道你要別人在

單,在wamp中找到httpd.conf文件,將其中所有「80」字樣替換成你想要的埠,重啟apache就可以了。apache裡面一共有4個地方

需要修改80:

listen

80,servername

localhost:80,namevirtualhost

*:80,前2個是默認的,後2個是配置了virtualhost才會出現。/pre

評論

載入更多

原創文章,作者:P6ZRE,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129408.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
P6ZRE的頭像P6ZRE
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python應用程序的全面指南

    Python是一種功能強大而簡單易學的編程語言,適用於多種應用場景。本篇文章將從多個方面介紹Python如何應用於開發應用程序。 一、Web應用程序 目前,基於Python的Web…

    編程 2025-04-29
  • Ojlat:一款快速開發Web應用程序的框架

    Ojlat是一款用於快速開發Web應用程序的框架。它的主要特點是高效、易用、可擴展且功能齊全。通過Ojlat,開發人員可以輕鬆地構建出高質量的Web應用程序。本文將從多個方面對Oj…

    編程 2025-04-29
  • 使用ActivityWeatherBinding簡化天氣應用程序的開發

    如何使用ActivityWeatherBinding加快並簡化天氣應用程序的開發?本文將從以下幾個方面進行詳細闡述。 一、簡介 ActivityWeatherBinding是一個在…

    編程 2025-04-29
  • 伺服器安裝Python的完整指南

    本文將為您提供伺服器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29
  • STUN 伺服器

    STUN 伺服器是一個網路伺服器,可以協助網路設備(例如 VoIP 設備)解決 NAT 穿透、防火牆等問題,使得設備可以正常地進行數據傳輸。本文將從多個方面對 STUN 伺服器做詳…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 解決docker-compose 容器時間和伺服器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與伺服器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 如何選擇MySQL伺服器文件許可權

    MySQL是一種流行的關係型資料庫管理系統。在安裝MySQL時,選擇正確的文件許可權是保證安全和性能的重要步驟。以下是一些指導您選擇正確許可權的建議。 一、許可權選擇 MySQL伺服器需…

    編程 2025-04-27

發表回復

登錄後才能評論