摘要:簡介對于有時候服務器的安裝部署每次有的過程忘記總得再把之前的筆記再找出來現在將整個流程做一個整理結合自己以前遇到的各種坑和實踐經驗吧這里是這樣也方便以后少浪費點時間在查找各種筆記博客地址我的地址歡迎關注集成環境安裝方式一如果你嫌這樣麻煩這里
簡介
對于有時候服務器的安裝部署 每次有的過程忘記總得再把之前的筆記再找出來 現在將整個流程做一個整理
結合自己以前遇到的各種坑和實踐經驗吧 這里是Centos7.2 這樣也方便以后少浪費點時間在查找各種筆記
集成環境安裝(方式一)博客地址
我的github地址 歡迎關注
如果你嫌這樣麻煩這里推薦一個非常實用的集成環境安裝(也算是一個彩蛋嘍)
https://oneinstack.com/
當然如果你想自己手動安裝的話就繼續看看下面的文章吧
服務目錄Nginx /etc/nginx
Mysql /var/lib/mysql
php7.1 /usr/local/php
php-fpm /usr/local/bin/php-fpm
phpmyadmin /data/www/phpmyadmin
站點根目錄 /data/www/
安裝nginx$ sudo yum install nginx
這里你可以選擇編譯安裝或者這種倉庫的形式安裝 編譯安裝的可選擇性更好 你可以安裝到指定的目錄
比如我們一般或放在/usr/local/nginx
這里采用的是包的安裝 此時nginx安裝在/etc/nginx 安裝完畢之后
$ nginx -v
Nginx服務的一些命令形式
$ systemctl restart nginx $ systemctl stop nginx $ systemctl start nginx安裝Mysql57
1.下載 mysql57-community-release-el7-8.noarch.rpm 的 YUM 源:
$ yum install mysql57-community-release-el7-8.noarch.rpm
$ wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm
2.查看mysql源是否安裝成功
$ yum repolist enabled | grep "mysql.*-community.*"
安裝 MySQL(一路Y就可以):
$ yum install mysql-community-server
4.啟動Mysql
$ systemctl start mysqld
5.設置開機啟動
$ systemctl enable mysqld $ systemctl daemon-reload
6.接下來就是去修改數據庫的密碼
mysql安裝完成之后,在/var/log/mysqld.log文件中給root生成了一個默認密碼。通過下面的方式找到root默認密碼,然后登錄mysql進行修改:
必須為啟動mysql之后
$ grep "temporary password" /var/log/mysqld.log
有了這個密碼去登錄mysql
$ mysql -u root -p
mysql5.7默認安裝了密碼安全檢查插件(validate_password),默認密碼檢查策略要求密碼必須包含:
大小寫字母、數字和特殊符號,并且長度不能少于8位。否則會提示ERROR 1819 (HY000):
Your password does not satisfy the current policy requirements錯誤,
所以這里的解決辦法就是要么修改的密碼滿足他的驗證規則 如果你想密碼不用那么復雜 那么你就可以去關閉這些驗證規則
7.在/etc/my.cnf文件添加validate_password_policy配置,指定密碼策略
當然你也可以直接關閉驗證
$ vim /etc/my.cnf
接著在末尾添加:
$ validate_password = off
填寫完密碼之后就可以登錄了 接著設置密碼:
$ set password = password("xxxx");
8.重啟我們的mysql
$ systemctl restart mysqld
接下來我們就可以直接使用剛設置的密碼去登錄服務器的mysql了
9.一些命令
啟動 MySQL 服務:service mysqld start
關閉 MySQL 服務:service mysqld stop
重啟 MySQL 服務:service mysqld restart
查看 MySQL 的狀態:service mysqld status & systemctl status mysqld
10、添加遠程登錄用戶
默認只允許root帳戶在本地登錄,如果要在其它機器上連接mysql,必須修改root允許遠程連接,
或者添加一個允許遠程連接的帳戶(這種最為理想) 這里我們先給所有用戶以權限
$ grant all privileges on *.* to "root"@"%" identified by "123456" with grant option; # root是用戶名,%代表任意主機,"123456"指定的登錄密碼(這個和本地的root密碼可以設置不同的,互不影響) $ flush privileges; # 重載系統權限 $ exit;
12.Centos 7 防火開啟3306端口
然后編輯系統的開放端口列表,增加3306端口,重啟防火墻即可。
vi /etc/sysconfig/iptables # 加上下面這行規則也是可以的 -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
$ iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
13.配置默認編碼為utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加編碼配置,如下所示:
[mysqld] character_set_server=utf8 init_connect="SET NAMES utf8"
14 文件目錄:
安裝phpmyadmin存放數據庫文件的目錄 /var/lib/mysql
默認配置文件路徑: /etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服務啟動腳本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
1.官網下載
phpmyadmin
下載完畢之后可以上傳到服務器的目錄 例如可以放在/root/phpmyadmin/
2.進入目錄 解壓文件
$ cd /root/phpmyadmin
$ unzip phpMyAdmin-4.7.0-all-languages.zip
3.移動解壓后的文件到站點根目錄(nginx 配置的root路徑為/data/www ) 比如
$ mv phpMyAdmin-4.7.0-all-languages /data/www/phpmyadmin
4.修改文件的擁護者
$ chown root:root /data/www/phpmyadmin
5.這里可能遇到的問題
提示沒有發現指定文件如果不存在/var/mysql則創建
$ sudo mkdir /var/mysql
接著創建一個軟連接
$ sudo ln -s /var/lib/mysql/mysql.sock /var/mysql/mysql.sock
如果你找不到你服務器下的文件 可以查找(以上只是我的目錄):
$ sudo find / -name mysql.sock需要一個密文
那么在配置文件填入大于32為的字符串就可以了:
$cfg["blowfish_secret"]="";
接著可以在/etc/nginx下去創建phpmyadmin.conf 內容是:
location /phpMyAdmin { alias /data/www/phpMyAdmin; index index.php; location ~ ^/phpMyAdmin/.+.php$ { alias /data/www/phpMyAdmin; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /data/www$fastcgi_script_name; include fastcgi_params; } }
接著你可以在nginx.conf里去包含這個配置文件
location ~* .php$ { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; } include /etc/nginx/phpmyadmin.conf;
接著你可以訪問http://example.com/phpmyadmin就可進入phpmyadmin操作數據庫了
編譯安裝PHP71.下載
wget -O php7.tar.gz http://cn2.php.net/get/php-7.1.1.tar.gz/from/this/mirror
2.解壓php7
$ tar -xvf php7.tar.gz
3.進入php7目錄
$ cd PHP-7.1.1
4.下載相關依賴
$ yum install -y 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
5.當然在編譯安裝之前 需要下載gcc編譯
$ yum install -y gcc
6.編譯配置
./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --exec-prefix=/usr/local/php --bindir=/usr/local/php/bin --sbindir=/usr/local/php/sbin --includedir=/usr/local/php/include --libdir=/usr/local/php/lib/php --mandir=/usr/local/php/php/man --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear --enable-opcache
整理之后可以在服務器里面執行
./configure --prefix=/usr/local/php --exec-prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --bindir=/usr/local/php/bin --sbindir=/usr/local/php/sbin --includedir=/usr/local/php/include --libdir=/usr/local/php/lib/php --mandir=/usr/local/php/php/man --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --enable-inline-optimization --disable-debug --disable-rpath --enable-shared --enable-soap --with-libxml-dir --with-xmlrpc --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-sqlite3 --with-zlib --enable-bcmath --with-iconv --with-bz2 --enable-calendar --with-curl --with-cdb --enable-dom --enable-exif --enable-fileinfo --enable-filter --with-pcre-dir --enable-ftp --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --enable-gd-native-ttf --enable-gd-jis-conv --with-gettext --with-gmp --with-mhash --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --with-libmbfl --with-onig --enable-pdo --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib-dir --with-pdo-sqlite --with-readline --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-libxml-dir --with-xsl --enable-zip --enable-mysqlnd-compression-support --with-pear --enable-opcach
從配置中看到
--prefix=/usr/local/php
所以最終的php安裝目錄為 /usr/local/php
配置文件設置
$ --with-config-file-path=/usr/local/php/etc
配置文件放在usr/local/php/etc
7.正式安裝
$ make && make install
8.配置環境變量
$ vi /etc/profile
在最后加上(也就是我們安裝php存放的路徑):
PATH=$PATH:/usr/local/php/bin export PATH
執行命令使得改動立即生效
$ source /etc/profile
10.配置php-fpm
$ cp php.ini-production /usr/local/php/php.ini $ cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf cp sapi/fpm/init.d.php-fpm /usr/local/bin/php-fpm
所以我們php-fpm的位置為usr/local/bin/php-fom
11.配置php.ini
需要著重提醒的是,如果文件不存在,則阻止 Nginx 將請求發送到后端的 PHP-FPM 模塊, 以避免遭受惡意腳本注入的攻擊。
將 php.ini 文件中的配置項 cgi.fix_pathinfo 設置為 0
vim /usr/local/php/php.ini
定位到 cgi.fix_pathinfo= 并將其修改為如下所示
cgi.fix_pathinfo=0
編輯nginx.conf
vim /etc/nginx/nginx.conf
12.php-fpm的一些命令形式
/usr/local/bin/php-fpm [start | stop | reload]部署ssl證書
server { listen 443 ssl http2 default_server; server_name www.example.com; root /data/www; #站點的根目錄 ssl on; ssl_certificate "/usr/ssl/1_www.example.com_bundle.crt"; ssl_certificate_key "/usr/ssl/2_www.example.com.key"; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { index index.php index.html index.htm; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
相關鏈接文檔這里的證書和解密后的私鑰文件放在/usr/ssl/目錄下
每個證書的提供商可能提供的形式不一樣 不過最終我們需要的就是頒發的證書和解密后的私鑰文件
Mysql
http://www.centoscn.com/mysql/2016/0626/7537.html
http://www.linuxidc.com/Linux/2016-09/135288.htm
http://www.linuxidc.com/Linux/2016-06/132676.htm
PHP
http://php.net/manual/zh/install.unix.nginx.php
http://www.jb51.net/article/109228.htm
http://blog.csdn.net/dglxsong/article/details/52075918
http://blog.csdn.net/u014595668/article/details/50188127
SSL證書
騰訊云的證書配置
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/39533.html
摘要:簡介對于有時候服務器的安裝部署每次有的過程忘記總得再把之前的筆記再找出來現在將整個流程做一個整理結合自己以前遇到的各種坑和實踐經驗吧這里是這樣也方便以后少浪費點時間在查找各種筆記博客地址我的地址歡迎關注集成環境安裝方式一如果你嫌這樣麻煩這里 簡介 對于有時候服務器的安裝部署 每次有的過程忘記總得再把之前的筆記再找出來 現在將整個流程做一個整理 結合自己以前遇到的各種坑和實踐經驗吧 這里...
摘要:年開發者應該熟練使用,并且知道版本更新內容。對開發和運維人員來說,最希望的就是一次性創建或配置,可以在任意地方正常運行。是標準規范,是開發的實踐標準。對開發者來說語言推薦和,全棧的選擇非常多,推薦熱門的 前言 在前天(2018-08-02)已經發布了PHP 7.3.0.beta1 Released 如果你還沒有使用 PHP7 ,那真的很遺憾。2018年PHP開發者應該熟練使用 PHP7...
摘要:包括安裝與下載,證書申請與配置,升級到,服務器的簡單配置。這對一個應用來說,所造成的后果無疑是毀滅性的。然后在新建一個目錄,將剛才的文件放進去,便于統一管理其中紅色框框的是要用到文件。 原文地址: here 在部署自己的博客到 LEMP 環境的時候,遇到了一些小挫折,現在把經驗分享出來,讓大家少走彎路。包括Php7.1安裝與下載,SSL證書申請與配置,Mysql升級到5.7,Ngin...
閱讀 1202·2021-11-23 09:51
閱讀 1980·2021-10-08 10:05
閱讀 2339·2019-08-30 15:56
閱讀 1900·2019-08-30 15:55
閱讀 2640·2019-08-30 15:55
閱讀 2487·2019-08-30 13:53
閱讀 3498·2019-08-30 12:52
閱讀 1250·2019-08-29 10:57