bug沒有愛
安裝Nginx
1.安裝軟件包epel-release并更新,它會幫我們自動配置好yum的軟件倉庫。
yum -y install epel-release yum update
2.安裝nginx,一般的項目不建議wget下載包編譯安裝,因為yum安裝的服務器貌似有額外整合日志壓縮,清理之類的定時任務,還有一些安全設定之類的。
yum -y install nginx
至此nginx就已經安裝好了,為了驗證是否已經安裝成功,我們可以使用如下方法測試。
curl 127.0.0.1
安裝成功會輸出nginx的默認歡迎頁,但此時在外部用ip地址訪問會發現訪問不了,是因為80端口未開放的原因,只需要開放80端口即可。
3.如果是云服務器,可以直接去控制臺配置安全策略放開80端口,如果是虛擬機可通過以下命令實現。
firewall-cmd --zone=public --add-port=80/tcp --permanent
- --zone 作用域
- --add-port=80/tcp 端口/通訊協議
- --permanent 永久生效,否則重啟后失效
設置好后重啟防火墻
systemctl restart firewalld.service
到這里nginx就算是安裝完成了。
編譯安裝php
1.為了后面能正常進行,首先我們先安裝一些會用到的依賴組件。
yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel
安裝好了之后,需要去官網下載PHP的安裝包,版本根據自己需要進行選擇,本人選擇的版本: php-7.2.23.tar.gz
可以直接在服務器上wget獲取,也可以先下載到本地再用lrzsz提供的rz上傳到服務器。(需要遠程鏈接的客戶端支持才能使用rz)
2.接下來解壓我們的安裝包
tar -xvf php-7.2.23.tar.gz -C /usr/local/mydir/
后面的路徑是我指定的解壓路徑,也可以不指定,直接解壓到當前目錄。
3.編譯源碼,并安裝
進入到我們解壓的源碼目錄,通過configure對即將安裝的軟件進行配置,檢查當前的環境是否滿足要安裝軟件的依賴關系
cp /usr/lib64/libldap* /usr/lib/ ./configure --prefix=/usr/local/php72 --with-config-file-path=/usr/local/php72/etc --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-MySQLnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-compression-support --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --with-libmbfl --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-pear --enable-maintainer-zts --with-ldap=shared --without-gdbm
這里如果你是安裝的PHP7.3的話,會報錯讓重新安裝libzip,這里是因為yum安裝的libzip版本低了的原因,需要移除已經安裝的libzip,重新安裝更新版本的libzip,成功的話會生產makefile文件。
4.編譯并安裝
make -j 4 && make install
-j表示同時允許幾個任務
5.配置
cp php.ini-development /usr/local/php72/etc/php.ini cp /usr/local/php72/etc/php-fpm.conf.default /usr/local/php72/etc/php-fpm.conf cp /usr/local/php72/etc/php-fpm.d/www.conf.default /usr/local/php72/etc/php-fpm.d/www.conf
去掉以下兩行的注釋
;pid = run/php-fpm.pid ;error_log = log/php-fpm.log
確定www.conf中的user和group,用戶一定要存在,沒有則需添加www-data用戶和用戶組,否則啟動php-fpm會失敗
user = www-data group = www-data
6.增加php-fpm.service啟動腳本
vim /usr/lib/systemd/system/php-fpm.service 腳本內容: [Unit] Description=The PHP FastCGI Process Manager After=syslog.target network.target [Service] Type=simple PIDFile=/usr/local/php72/var/run/php-fpm.pid ExecStart=/usr/local/php72/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php72/etc/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID [Install] WantedBy=multi-user.target
增加了腳本之后,就可以通過service命令來進行管理了。
到這里也就完成了Nginx和PHP的安裝了。