<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # :-: **健康方舟云上部署總覽圖** 服務器端采用Nginx+ ![](https://img.kancloud.cn/44/d9/44d963c42da83ec9cb528c08f0ab866c_854x828.png) ## :-: 阿里云相關部署 云服務器配置: 云服務器放開對應端口:22(服務器連接ssh接口)、3306(mysql接口)、6379(redis接口)、80(HTTP接口)、443(HTTPS接口) 云數據庫RDS部署: 建立與服務器同區域的RDS數據庫服務 ![](https://img.kancloud.cn/22/17/2217f1815b7374b59f73e67184bf61a4_1522x564.png) 設置定時備份 ![](https://img.kancloud.cn/75/d3/75d3f77e4bd74d86a11c53509af5d028_1681x337.png) 配置數據庫帳號密碼 ![](https://img.kancloud.cn/ab/b4/abb47e8694f979717d6437c183cbb10f_1453x667.png) oss存儲桶: 建立與服務器同區域的oss存儲桶 ![](https://img.kancloud.cn/4e/43/4e4383a144782faa6b47f685aa7a7a54_806x877.png) 配置圖片存儲域名 ![](https://img.kancloud.cn/87/cd/87cd02e0d41b3ac45524a839d7a1ee25_1602x473.png) 配置圖片存儲樣式 ![](https://img.kancloud.cn/c6/e9/c6e98403b734081bc60e6aff8a36e35d_1531x480.png) ## :-: 服務器相關部署 ## **Nginx 1.17.10安裝:** ### 一、安裝編譯工具及庫文件 ~~~ yum -y install make zlib zlib-devel gcc-c++ libtool ?openssl openssl-devel ~~~ ### 二、首先要安裝 PCRE PCRE 作用是讓 Nginx 支持 Rewrite 功能。 1、下載 PCRE 安裝包,下載地址:?[http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz](http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz) ~~~ [root@bogon?src]# cd /usr/local/src/ [root@bogon?src]# wget?http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz ~~~ ![](https://www.runoob.com/wp-content/uploads/2015/01/nginx1.png) 2、解壓安裝包: ~~~ [root@bogon?src]# tar zxvf pcre-8.35.tar.gz ~~~ 3、進入安裝包目錄 ~~~ [root@bogon?src]# cd pcre-8.35 ~~~ 4、編譯安裝? ~~~ [root@bogon?pcre-8.35]# ./configure [root@bogon?pcre-8.35]# make?&& make install ~~~ 5、查看pcre版本 ~~~ [root@bogon?pcre-8.35]# pcre-config --version ~~~ ![](https://www.runoob.com/wp-content/uploads/2015/01/nginx2.png) ### 安裝 Nginx 1、下載 Nginx,下載地址:[https://nginx.org/en/download.html](https://nginx.org/en/download.html) ~~~ [root@bogon?src]# cd /usr/local/src/ [root@bogon?src]# wget?http://nginx.org/download/nginx-1.6.2.tar.gz ~~~ ![](https://www.runoob.com/wp-content/uploads/2015/01/nginx3.png)2、解壓安裝包 ~~~ [root@bogon?src]# tar zxvf nginx-1.6.2.tar.gz ~~~ 3、進入安裝包目錄 ~~~ [root@bogon?src]# cd nginx-1.6.2 ~~~ 4、編譯安裝 ~~~ [root@bogon?nginx-1.6.2]# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35 [root@bogon?nginx-1.6.2]# make [root@bogon?nginx-1.6.2]# make install ~~~ 5、查看nginx版本 ~~~ [root@bogon?nginx-1.6.2]# /usr/local/webserver/nginx/sbin/nginx -v ~~~ ![](https://www.runoob.com/wp-content/uploads/2015/01/nginx4.png) 到此,nginx安裝完成。 * * * ## Nginx 配置 創建 Nginx 運行使用的用戶 www: ~~~ [root@bogon?conf]# /usr/sbin/groupadd www? [root@bogon?conf]# /usr/sbin/useradd -g www www ~~~ 配置nginx.conf ,將/usr/local/webserver/nginx/conf/nginx.conf替換為以下內容 ~~~ [root@bogon?conf]# ?cat /usr/local/webserver/nginx/conf/nginx.conf user www www; worker_processes 2; #設置值和CPU核心數一致 error_log /usr/local/webserver/nginx/logs/nginx_error.log crit; #日志位置和日志級別 pid /usr/local/webserver/nginx/nginx.pid; #Specifies the value for maximum file descriptors that can be opened by this process. worker_rlimit_nofile 65535; events { ? use epoll; ? worker_connections 65535; } http { ? include mime.types; ? default_type application/octet-stream; ? log_format main ?'$remote_addr - $remote_user [$time_local] "$request" ' ? ? ? ? ? ? ? ?'$status $body_bytes_sent "$http_referer" ' ? ? ? ? ? ? ? ?'"$http_user_agent" $http_x_forwarded_for'; ?? #charset gb2312; ? ? ? ? server_names_hash_bucket_size 128; ? client_header_buffer_size 32k; ? large_client_header_buffers 4 32k; ? client_max_body_size 8m; ? ? ? ? sendfile on; ? tcp_nopush on; ? keepalive_timeout 60; ? tcp_nodelay on; ? fastcgi_connect_timeout 300; ? fastcgi_send_timeout 300; ? fastcgi_read_timeout 300; ? fastcgi_buffer_size 64k; ? fastcgi_buffers 4 64k; ? fastcgi_busy_buffers_size 128k; ? fastcgi_temp_file_write_size 128k; ? gzip on;? ? gzip_min_length 1k; ? gzip_buffers 4 16k; ? gzip_http_version 1.0; ? gzip_comp_level 2; ? gzip_types text/plain application/x-javascript text/css application/xml; ? gzip_vary on; ? ? #limit_zone crawler $binary_remote_addr 10m; ?#下面是server虛擬主機的配置 ?server ? { ? ? listen 80;#監聽端口 ? ? server_name localhost;#域名 ? ? index index.html index.htm index.php; ? ? root /usr/local/webserver/nginx/html;#站點目錄 ? ? ? location ~ .*\.(php|php5)?$ ? ? { ? ? ? #fastcgi_pass unix:/tmp/php-cgi.sock; ? ? ? fastcgi_pass 127.0.0.1:9000; ? ? ? fastcgi_index index.php; ? ? ? include fastcgi.conf; ? ? } ? ? location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|ico)$ ? ? { ? ? ? expires 30d; ? # access_log off; ? ? } ? ? location ~ .*\.(js|css)?$ ? ? { ? ? ? expires 15d; ? ?# access_log off; ? ? } ? ? access_log off; ? } } ~~~ 檢查配置文件nginx.conf的正確性命令: ~~~ [root@bogon?conf]# /usr/local/webserver/nginx/sbin/nginx -t ~~~ ![](https://www.runoob.com/wp-content/uploads/2015/01/nginx5.png) * * * ## 啟動 Nginx Nginx 啟動命令如下: ~~~ [root@bogon?conf]# /usr/local/webserver/nginx/sbin/nginx ~~~ ![](https://www.runoob.com/wp-content/uploads/2015/01/nginx6.png) * * * ## 訪問站點 從瀏覽器訪問我們配置的站點ip: ![](https://www.runoob.com/wp-content/uploads/2015/01/nginx7.png) * * * ## Nginx 其他命令 以下包含了 Nginx 常用的幾個命令: ~~~ /usr/local/webserver/nginx/sbin/nginx -s reload # 重新載入配置文件 /usr/local/webserver/nginx/sbin/nginx -s reopen # 重啟 Nginx /usr/local/webserver/nginx/sbin/nginx -s stop # 停止 Nginx ~~~ # MySQL 安裝配置 MySQL 是最流行的關系型數據庫管理系統,由瑞典MySQL?AB公司開發,目前屬于Oracle公司。 MySQL所使用的SQL語言是用于訪問數據庫的最常用標準化語言。 MySQL由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇MySQL作為網站數據庫。 * * * ## MySQL 安裝 本教程的系統平臺:CentOS release 6.6 (Final) 64位。 ### 一、安裝編譯工具及庫文件 ~~~ yum -y install gcc gcc-c++ make autoconf libtool-ltdl-devel gd-devel freetype-devel libxml2-devel libjpeg-devel libpng-devel openssl-devel curl-devel bison patch unzip libmcrypt-devel libmhash-devel ncurses-devel sudo bzip2 flex libaio-devel ~~~ ### 二、?安裝cmake 編譯器 cmake 版本:cmake-3.1.1。 1、下載地址:[http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz](http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz) ~~~ $ wget?http://www.cmake.org/files/v3.1/cmake-3.1.1.tar.gz ~~~ ![mysql1](https://www.runoob.com/wp-content/uploads/2015/01/mysql1.png) 2、解壓安裝包 ~~~ $ tar zxvf cmake-3.1.1.tar.gz ~~~ 3、進入安裝包目錄 ~~~ $ cd cmake-3.1.1 ~~~ 4、編譯安裝? ~~~ $ ./bootstrap $ make && make install ~~~ * * * ### 安裝 MySQL 5.6.50 MySQL版本:mysql-5.6.15。 1、下載地址:?[http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.50.tar.gz](http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.50.tar.gz) ~~~ $ wget?http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.15.tar.gz ~~~ ![mysql2](https://www.runoob.com/wp-content/uploads/2015/01/mysql2.png) 2、解壓安裝包 ~~~ $ tar zxvf mysql-5.6.15.tar.gz ~~~ 3、進入安裝包目錄 ~~~ $ cd mysql-5.6.15 ~~~ 4、編譯安裝? ~~~ $ cmake -DCMAKE_INSTALL_PREFIX=/usr/local/webserver/mysql/ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_INNODB_MEMCACHED=1 -DWITH_DEBUG=OFF -DWITH_ZLIB=bundled -DENABLED_LOCAL_INFILE=1 -DENABLED_PROFILING=ON -DMYSQL_MAINTAINER_MODE=OFF -DMYSQL_DATADIR=/usr/local/webserver/mysql/data -DMYSQL_TCP_PORT=3306 $ make && make install ~~~ 5、查看mysql版本: ~~~ $ /usr/local/webserver/mysql/bin/mysql --version ~~~ ![mysql3](https://www.runoob.com/wp-content/uploads/2015/01/mysql3.png) 到此,mysql安裝完成。 * * * ## MySQL 配置 1、創建mysql運行使用的用戶mysql: ~~~ $ /usr/sbin/groupadd mysql $ /usr/sbin/useradd -g mysql mysql ~~~ 2、創建binlog和庫的存儲路徑并賦予mysql用戶權限 ~~~ $ mkdir -p /usr/local/webserver/mysql/binlog /www/data_mysql $ chown mysql.mysql /usr/local/webserver/mysql/binlog/ /www/data_mysql/ ~~~ 3、創建my.cnf配置文件 將/etc/my.cnf替換為下面內容 ~~~ $ cat /etc/my.cnf [client] port = 3306 socket = /tmp/mysql.sock [mysqld] replicate-ignore-db = mysql replicate-ignore-db = test replicate-ignore-db = information_schema user = mysql port = 3306 socket = /tmp/mysql.sock basedir = /usr/local/webserver/mysql datadir = /www/data_mysql log-error = /usr/local/webserver/mysql/mysql_error.log pid-file = /usr/local/webserver/mysql/mysql.pid open_files_limit = 65535 back_log = 600 max_connections = 5000 max_connect_errors = 1000 table_open_cache = 1024 external-locking = FALSE max_allowed_packet = 32M sort_buffer_size = 1M join_buffer_size = 1M thread_cache_size = 600 #thread_concurrency = 8 query_cache_size = 128M query_cache_limit = 2M query_cache_min_res_unit = 2k default-storage-engine = MyISAM default-tmp-storage-engine=MYISAM thread_stack = 192K transaction_isolation = READ-COMMITTED tmp_table_size = 128M max_heap_table_size = 128M log-slave-updates log-bin = /usr/local/webserver/mysql/binlog/binlog binlog-do-db=oa_fb binlog-ignore-db=mysql binlog_cache_size = 4M binlog_format = MIXED max_binlog_cache_size = 8M max_binlog_size = 1G relay-log-index = /usr/local/webserver/mysql/relaylog/relaylog relay-log-info-file = /usr/local/webserver/mysql/relaylog/relaylog relay-log = /usr/local/webserver/mysql/relaylog/relaylog expire_logs_days = 10 key_buffer_size = 256M read_buffer_size = 1M read_rnd_buffer_size = 16M bulk_insert_buffer_size = 64M myisam_sort_buffer_size = 128M myisam_max_sort_file_size = 10G myisam_repair_threads = 1 myisam_recover interactive_timeout = 120 wait_timeout = 120 skip-name-resolve #master-connect-retry = 10 slave-skip-errors = 1032,1062,126,1114,1146,1048,1396 #master-host = 192.168.1.2 #master-user = username #master-password = password #master-port = 3306 server-id = 1 loose-innodb-trx=0? loose-innodb-locks=0? loose-innodb-lock-waits=0? loose-innodb-cmp=0? loose-innodb-cmp-per-index=0 loose-innodb-cmp-per-index-reset=0 loose-innodb-cmp-reset=0? loose-innodb-cmpmem=0? loose-innodb-cmpmem-reset=0? loose-innodb-buffer-page=0? loose-innodb-buffer-page-lru=0? loose-innodb-buffer-pool-stats=0? loose-innodb-metrics=0? loose-innodb-ft-default-stopword=0? loose-innodb-ft-inserted=0? loose-innodb-ft-deleted=0? loose-innodb-ft-being-deleted=0? loose-innodb-ft-config=0? loose-innodb-ft-index-cache=0? loose-innodb-ft-index-table=0? loose-innodb-sys-tables=0? loose-innodb-sys-tablestats=0? loose-innodb-sys-indexes=0? loose-innodb-sys-columns=0? loose-innodb-sys-fields=0? loose-innodb-sys-foreign=0? loose-innodb-sys-foreign-cols=0 slow_query_log_file=/usr/local/webserver/mysql/mysql_slow.log long_query_time = 1 [mysqldump] quick max_allowed_packet = 32M ~~~ 4、初始化數據庫 ~~~ $/usr/local/webserver/mysql/scripts/mysql_install_db --defaults-file=/etc/my.cnf ?--user=mysql ~~~ 顯示如下信息: ~~~ Installing MySQL system tables...2015-01-26 20:18:51 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). OK Filling help tables...2015-01-26 20:18:57 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details). OK ... ~~~ 5、創建開機啟動腳本 ~~~ $ cd /usr/local/webserver/mysql/ $ cp support-files/mysql.server /etc/rc.d/init.d/mysqld? $ chkconfig --add mysqld? $ chkconfig --level 35 mysqld on ~~~ 6、啟動mysql服務器 ~~~ $ service mysqld start ~~~ ![mysql4](https://www.runoob.com/wp-content/uploads/2015/01/mysql4.png) 7、連接 MySQL ~~~ $ /usr/local/webserver/mysql/bin/mysql -u root -p ~~~ ![mysql5](https://www.runoob.com/wp-content/uploads/2015/01/mysql5.png) ## 修改MySQL用戶密碼 ~~~ mysqladmin -u用戶名 -p舊密碼 password 新密碼 ~~~ 或進入mysql命令行 ~~~ SET PASSWORD FOR '用戶名'@'主機' = PASSWORD(‘密碼'); ~~~ 創建新用戶并授權: ~~~ grant all privileges on *.* to 用戶名@'%' identified by '密碼' with grant option; ~~~ ### 其他命令 * 啟動:service mysqld start * 停止:service mysqld stop * 重啟:service mysqld?restart * 重載配置:service mysqld?reload [](https://www.runoob.com/linux/nginx-install-setup.html)[Nginx 安裝配置](https://www.runoob.com/linux/nginx-install-setup.html "Nginx 安裝配置") ## 1 篇筆記寫筆記 1. ???li1121567428 ??li1\*\*\*567428@live.com 63 啟動MySQL服務器程序,確認狀態 1)啟動MySQL服務程序 啟動服務并查看狀態: ~~~ [root@dbsvr1 pub]# service mysql start Starting MySQL... [確定] [root@dbsvr1 pub]# service mysql status MySQL running (31724) [確定] ~~~ 服務器進程為mysqld,監聽的默認端口為TCP 3306: ~~~ [root@dbsvr1 pub]# netstat -anpt | grep mysql tcp 0 0 :::3306 :::* LISTEN 31724/mysqld ~~~ 2)查看MySQL服務器進程、運行用戶 提供連接服務的進程為mysqld,由其父進程mysqld\_safe啟動。 ~~~ [root@dbsvr1 pub]# ps -elf | grep mysqld 4 S root 31619 1 0 80 0 - 2834 wait 15:14 pts/0 00:00:00 /bin/sh /usr/bin/mysqld_safe --datadir=/var/lib/mysql --pid file=/var/lib/mysql/dbsvr1.tarena.com.pid 4 S mysql 31724 31619 0 80 0 - 252496 poll_s 15:14 pts/0 00:00:01 /usr/sbin/mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr/lib64/mysql/plugin --user=mysql --log-error=/var/lib/mysql/dbsvr1.tarena.com.err --pid-file=/var/lib/mysql/dbsvr1.tarena.com.pid ~~~ 數據庫的默認存放位置為 /var/lib/mysql: ~~~ [root@dbsvr1 pub]# ls /var/lib/mysql/ auto.cnf ibdata1 mysql RPM_UPGRADE_HISTORY dbsvr1.tarena.com.err ib_logfile0 mysql.sock RPM_UPGRADE_MARKER-LAST dbsvr1.tarena.com.pid ib_logfile1 performance_schema test ~~~ 安裝PHP7.2 1)依賴包安裝 yum install gcc-c++ libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel gd net-snmp-\* libzip版本低問題處理 libzip要求1.1及以上,系統提供1.0需要升級 官方網站: [https://libzip.org/](https://links.jianshu.com/go?to=https%3A%2F%2Flibzip.org%2F) \[root@apache\_251 ~\]# wget [https://libzip.org/download/libzip-1.5.2.tar.gz](https://links.jianshu.com/go?to=https%3A%2F%2Flibzip.org%2Fdownload%2Flibzip-1.5.2.tar.gz) \[root@apache\_251 ~\]# tar xf [libzip-1.5.2.tar.gz](https://links.jianshu.com/go?to=https%3A%2F%2Flibzip.org%2Fdownload%2Flibzip-1.5.2.tar.gz) \[root@apache\_251 ~\]# cd [libzip-1.5.2](https://links.jianshu.com/go?to=https%3A%2F%2Flibzip.org%2Fdownload%2Flibzip-1.5.2.tar.gz) \[root@apache\_251 libzip-1.5.2\]# mkdir build \[root@apache\_251 build\]# cd build \[root@apache\_251 build\]#cmake .. \[root@apache\_251 build\]#make \[root@apache\_251 build\]#make install 2)配置 \[root@apache\_251 ~\]# tar xf php-7.3.4.tar.bz2 \[root@apache\_251 php-7.3.4\]# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysqli=mysqlnd --enable-pdo --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/ --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-pcre-regex --with-zlib --with-bz2 --enable-calendar --disable-phar --with-curl --enable-dba --with-libxml-dir --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-jis-conv --with-mhash --enable-mbstring --enable-opcache=yes --enable-pcntl --enable-xml --disable-rpath --enable-shmop --enable-sockets --enable-zip --enable-bcmath --with-snmp --disable-ipv6 --with-gettext --disable-rpath --disable-debug --enable-embedded-mysqli --with-mysql-sock=/usr/local/mysql/ ~~~jsx 配置參數說明 ---prefix=/usr/local/php 安裝路徑 --with-config-file-path=/usr/local/php/etc 配置文件路徑 --with-mysqli=mysqlnd --enable-embedded-mysqli --with-mysql-sock=/usr/local/mysql/ mysql支持及客戶端設置 --enable-pdo --with-pdo-mysql=mysqlnd 開啟php pdo,PDO一是PHP數據對象(PHP Data Object)的縮寫 --with-iconv-dir=/usr/local/ 指定轉碼工具,各種字符集間的轉換 --enable-fpm --with-fpm-user=www --with-fpm-group=www 支持php-fpm,允許以服務的方式啟動PHP --with-pcre-regex 支持pcre正則表達式 --with-zlib --with-bz2 --with-zlib-dir --enable-zip 支持壓縮 --enable-calendar 支持日歷 --disable-phar PHAR (“Php ARchive”) 是PHP里類似于JAR的一種打包文件。如果你使用的是 PHP 5.3 或更高版本,那么Phar后綴文件是默認開啟支持的. --with-curl 支持curl --enable-dba 開啟dba函數支持 --with-libxml-dir 支持xml文件庫 對xml讀取和查詢 --enable-ftp 支持ftp --with-gd --with-jpeg-dir --with-png-dir 支持圖片 --with-freetype-dir 支持字庫 --enable-gd-jis-conv 支持gd庫 --with-mhash --enable-mbstring 支持加密 --enable-opcache=yes 開啟opcache --enable-pcntl 開啟PHP進程控制支持 默認是關閉的 --enable-xml 允許xml文件 --disable-rpath 關閉額外的運行庫文件 --enable-shmop 開啟Shmop 是一個易用的允許PHP讀取、寫入、創建和刪除Unix共享內存段的函數集 --enable-sockets 打開 sockets 支持 --enable-bcmath 增加bcmath擴展的支持,這是一個支持大整數計算的擴展。 --with-snmp 支持snmp --disable-ipv6 關閉IPV6支持 --with-gettext 打開gnu 的gettext 支持,編碼庫用到 --disable-debug 關閉調試模式 ~~~ 3)編譯 \[root@apache\_251 php-7.3.4\]# make 4)安裝 \[root@apache\_251 php-7.3.4\]# make install 5)拷貝一個配置文件 \[root@apache\_251 php-7.3.4\]# cp /usr/src/php-7.3.4/php.ini-production /usr/local/php/etc/php.ini ## 三、PHP配置 #### **關于PHP工作方式** * #### 作為模塊運行 * #### 獨立服務運行 1)作為apache模塊運行 # if bind to apache \--with-apxs2=/usr/local/apache2/bin/apxs AddType application/x-httpd-php .php # if no mysql ./configure --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd 2)作為服務運行 思考問題 apache如何將PHP請求交給PHP呢 PHP是一門語言 ~~~objectivec 思路 CGI fastcgi ~~~ CGI 公共網關接口 (COMMON GATEWAY INTERFACE),是一個協議 ~~~objectivec 它的作用就是幫助服務器與語言通信. 就是apache和php進行通信,因為apache和php的語言不通,因此需要一個溝通轉換的過程,而CGI就是這個 溝通的協議。 ~~~ FastCGI 快速通用網關接口(FastCommonGatewayInterface),是CGI的升級版,一種語言無關的協議,FastCGI是用來提高CGI程序性能的 缺點:傳統的cgi協議在每次連接請求時,會開啟一個進程進行處理,處理完畢會關閉該進程,因此下次連接,又要再次開啟一個進程進行處理,因此有多少個連接就有多少個cgi進程,這也就是為什么傳統的cgi會顯得緩慢的原因,因此過多的進程會消耗資源和內存。而fast-cgi則是一個進程可以處理多個請求,和上面的cgi協議完全不一樣,cgi是一個進程只能處理一個請求,這樣就會導致大量的cgi程序,因此會給服務器帶來負擔。 php-fpm:是一個實現了FastCGI(協議)的程序 是php提供給http前端服務器(web serve)的fastcgi協議接口程序,允許一個進程對多個連接進行處理,而不會立即關閉這個進程,而是會接著處理下一個連接。 PHP-CGI:PHP-CGI是php自帶的Fast-CGI管理器。 PHP-CGI的不足: php-cgi變更php.ini配置后需重啟php-cgi才能讓新的php-ini生效,不可以平滑重啟。 直接殺死php-cgi進程,php就不能運行了。(PHP-FPM和Spawn-FCGI就沒有這個問題,守護進程會平滑從新生成新的子進程。) PHP-FPM(FastCGI Process Manager:FastCGI進程管理器)是一個PHPFastCGI管理器,對于PHP 5.3.3之前的php來說,是一個補丁包 ,旨在將FastCGI進程管理整合進PHP包中。如果你使用的是PHP5.3.3之前的PHP的話,就必須將它patch到你的PHP源代碼中,在編譯安裝PHP后才可以使用。從PHP 5.4 RC2開始,php-fpm已經轉正了 **PHP-FPM特點** 1. listen:The address on which to accept FastCGI requests.它支持TCP Socket和unix socket兩種通訊協議。可設置listen = \[::\]:9000。 2. listen.allowed\_clients:List of addresses (IPv4/IPv6) of FastCGI clients which are allowed to connect. 該配置項為逗號分隔的列表,如listen.allowed\_clients = 127.0.0.1,172.17.0.5。 3. pm:Choose how the process manager will control the number of child processes. 該配置項設置FPM管理進程池的方式,包括static、dynamic、ondemand三種。 4. pm.max\_requests:The number of requests each child process should execute before respawning. This can be useful to work around memory leaks in 3rd party libraries.設置每個子進程處理請求數的上限,對于處理第三方庫中的內存泄漏很有用。 5. pm.status\_path:The URI to view the FPM status page. 支持狀態頁面監控php-fpm **PHP-FPM工作原理:** 1、Web Server啟動時載入FastCGI進程管理器(IIS ISAPI或Apache Module) 2、FastCGI進程管理器自身初始化,啟動多個CGI解釋器進程(可見多個php-cgi)并等待來自Web Server的連接。 3、當客戶端請求到達Web Server時,FastCGI進程管理器選擇并連接到一個CGI解釋器。Web server將CGI環境變量和標準輸入發送到FastCGI子進程php-cgi。 4、FastCGI子進程完成處理后將標準輸出和錯誤信息從同一連接返回Web Server。當FastCGI子進程關閉連接時,請求便告處理完成。FastCGI子進程接著等待并處理來自FastCGI進程管理器(運行在Web Server中)的下一個連接。 在CGI模式中,php-cgi在此便退出了。 在上述情況中,你可以想象CGI通常有多慢。每一個Web請求PHP都必須重新解析php.ini、重新載入全部擴展并重初始化全部數據結構。使用FastCGI,所有這些都只在進程啟動時發生一次。一個額外的好處是,持續數據庫連接(Persistent database connection)可以工作。 # php-fpm服務設置 pool 每個pool可以監聽不同的sock、tcp/ip,pool池是支持定義多個pool的。所有的網站使用同一個池,那其中一個網站發生一些故障,比如程序員寫的一些程序有問題,就會把php資源耗盡,這樣的結果就是其他站點的php也會502。所以有必要把每一個站點隔離開。每個pool的名字要唯一。 #### PHP服務配置 # 主配置文件 \[root@apache\_251 var\]# egrep -v ";|$" /usr/local/php/etc/php-fpm.conf \[global\] pid = run/php-fpm.pid error\_log = log/php-fpm.log daemonize = yes include = /usr/local/php/etc/php-fpm.d/\*.conf # 子配置文件 \[root@apache\_251 var\]# cp /usr/local/php/etc/php-fpm.d/[www.conf.default](https://links.jianshu.com/go?to=http%3A%2F%2Fwww.conf.default) /usr/local/php/etc/php-fpm.d/[www.conf](https://links.jianshu.com/go?to=http%3A%2F%2Fwww.conf) \[root@apache\_251 var\]# egrep -v ";|$" /usr/local/php/etc/php-fpm.d/[www.conf](https://links.jianshu.com/go?to=http%3A%2F%2Fwww.conf) \[www\] user = www group = www listen = 127.0.0.1:9000 listen.owner = www listen.group = www listen.mode = 0660 pm = dynamic pm.max\_children = 5 pm.start\_servers = 2 pm.min\_spare\_servers = 1 pm.max\_spare\_servers = 3 ~~~csharp 注釋 # 全局配置 [global] # PID、可以不填 pid = /usr/local/php/var/run/php-fpm.pid # 錯誤日志路徑、可以不填 error_log = /usr/local/php/var/log/php-fpm.log # www虛擬主機配置、可寫多個 # pool命名:www [www] # 監聽socket方式 # 可以寫成listen = 127.0.0.1:9000 listen = /tmp/php-fcgi.sock # 開啟php-fpm的執行用戶 user = www # 開啟php-fpm的所屬組 group = www # 監聽socket listen的用戶,和web服務器軟件的一致 listen.owner = nobody # 監聽socket listen的組,和web服務器軟件的一致 listen.group = nobody # 怎樣的形式啟用進程 pm = dynamic # 最大開啟子進程數 pm.max_children = 50 # 一開始啟動多少子進程 pm.start_servers = 20 # 空閑時保留多少個子進程 pm.min_spare_servers = 5 # 最多空閑子進程 pm.max_spare_servers = 35 # 進程處理多少個請求之后銷毀重建 pm.max_requests = 500 # 限定打開最大的文件數 rlimit_files = 1024 ~~~ ## 四、PHP啟動 \[root@apache\_251 ~\]# cp /usr/src/php-7.3.4/sapi/fpm/php-fpm.service /etc/systemd/system/ \[root@apache\_251 ~\]# systemctl daemon-reload \[root@apache\_251 ~\]# systemctl enable php-fpm \[root@apache\_251 ~\]# systemctl start php-fpm ## :-: 程序相關部署 數據庫信息配置位置:/www/wwwroot/shop.gimp.cn/database.php > <?php return [ // 默認使用的數據庫連接配置 'default' => 'mysql', // 自定義時間查詢規則 'time_query_rule' => [], // 自動寫入時間戳字段 // true為自動識別類型 false關閉 // 字符串則明確指定時間字段類型 支持 int timestamp datetime date 'auto_timestamp' => true, // 時間字段取出后的默認時間格式 'datetime_format' => 'Y-m-d H:i:s', // 數據庫連接配置信息 'connections' => [ 'mysql' => [ // 數據庫類型 'type' => 'mysql', // 服務器地址 'hostname' => '127.0.0.1', // 數據庫名 'database' => 'shop_gimp_cn', // 用戶名 'username' => 'shop_gimp_cn', // 密碼 'password' => 'kWy2dB8b8S4THi8p', // 端口 'hostport' => '3306', // 數據庫連接參數 'params' => [], // 數據庫編碼默認采用utf8 'charset' => 'utf8', // 數據庫表前綴 'prefix' => 'hyok', // 數據庫部署方式:0 集中式(單一服務器),1 分布式(主從服務器) 'deploy' => 0, // 數據庫讀寫是否分離 主從式有效 'rw_separate' => false, // 讀寫分離后 主服務器數量 'master_num' => 1, // 指定從服務器序號 'slave_no' => '', // 是否嚴格檢查字段是否存在 'fields_strict' => false, // 是否需要斷線重連 'break_reconnect' => true, // 監聽SQL 'trigger_sql' => true, // 開啟字段緩存 'fields_cache' => true, // 字段緩存路徑 'schema_cache_path' => app()->getRuntimePath() . 'schema' . DIRECTORY_SEPARATOR, ], // 更多的數據庫配置信息 ], ]; OSS相關配置(如下圖):https://test.gimp.cn/alioss/admin/config/config.html ![](https://img.kancloud.cn/85/50/8550f429a8a2a0517bdcfce753e50d7a_1172x668.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看